diff --git a/eslint.config.js b/eslint.config.js index f24bb7006..8ca87f12a 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -17,7 +17,26 @@ const commonFiles = '{js,mjs,cjs,ts,mts,cts,jsx,tsx}'; const commonRuleset = merge(...common, { files: [`**/*${commonFiles}`] }); -const nodeRuleset = merge(...node, { files: [`**/*${commonFiles}`] }); +const nodeRuleset = merge(...node, { + files: [`**/*${commonFiles}`], + rules: { + 'no-restricted-globals': 0, + 'n/prefer-global/buffer': [2, 'never'], + 'n/prefer-global/console': [2, 'always'], + 'n/prefer-global/process': [2, 'never'], + 'n/prefer-global/text-decoder': [2, 'always'], + 'n/prefer-global/text-encoder': [2, 'always'], + 'n/prefer-global/url-search-params': [2, 'always'], + 'n/prefer-global/url': [2, 'always'], + }, +}); + +const nodeBinRuleset = { + files: [`**/bin/*{js,mjs,cjs,ts,mts,cts}`], + rules: { + 'n/shebang': [0], + }, +}; const typeScriptRuleset = merge(...typescript, { files: [`**/*${commonFiles}`], @@ -93,6 +112,7 @@ export default defineConfig( }, commonRuleset, nodeRuleset, + nodeBinRuleset, typeScriptRuleset, { files: ['**/*{ts,mts,cts,tsx}'], @@ -123,7 +143,6 @@ export default defineConfig( { files: [`packages/{api-extractor,api-extractor-model,api-extractor-utils}/**/*${commonFiles}`], rules: { - 'n/prefer-global/process': 0, '@typescript-eslint/naming-convention': 0, '@typescript-eslint/no-empty-interface': 0, '@typescript-eslint/no-empty-object-type': 0, @@ -236,11 +255,6 @@ export default defineConfig( { files: [`packages/rest/**/*${commonFiles}`], rules: { - 'n/prefer-global/url': 0, - 'n/prefer-global/url-search-params': 0, - 'n/prefer-global/buffer': 0, - 'n/prefer-global/process': 0, - 'no-restricted-globals': 0, 'unicorn/prefer-node-protocol': 0, }, }, @@ -255,8 +269,6 @@ export default defineConfig( { files: [`packages/voice/**/*${commonFiles}`], rules: { - 'no-restricted-globals': 0, - 'n/prefer-global/buffer': 0, '@typescript-eslint/no-unsafe-declaration-merging': 0, }, }, diff --git a/packages/actions/src/releasePackages/releasePackage.ts b/packages/actions/src/releasePackages/releasePackage.ts index 6cd1b91c9..52dbfd010 100644 --- a/packages/actions/src/releasePackages/releasePackage.ts +++ b/packages/actions/src/releasePackages/releasePackage.ts @@ -1,5 +1,4 @@ import process from 'node:process'; -import { setInterval, clearInterval } from 'node:timers'; import { info, warning } from '@actions/core'; import { getOctokit, context } from '@actions/github'; import { $ } from 'bun'; diff --git a/packages/api-extractor-model/src/model/SourceLocation.ts b/packages/api-extractor-model/src/model/SourceLocation.ts index fa5e41365..ea9d8fb47 100644 --- a/packages/api-extractor-model/src/model/SourceLocation.ts +++ b/packages/api-extractor-model/src/model/SourceLocation.ts @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { URL } from 'node:url'; - /** * Constructor options for `SourceLocation`. * diff --git a/packages/api-extractor/src/cli/RunAction.ts b/packages/api-extractor/src/cli/RunAction.ts index f8e7e704e..cea7d5ffd 100644 --- a/packages/api-extractor/src/cli/RunAction.ts +++ b/packages/api-extractor/src/cli/RunAction.ts @@ -1,9 +1,9 @@ -/* eslint-disable no-restricted-globals */ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. import * as os from 'node:os'; import * as path from 'node:path'; +import process from 'node:process'; import { PackageJsonLookup, FileSystem, type IPackageJson, Path } from '@rushstack/node-core-library'; import { CommandLineAction, diff --git a/packages/api-extractor/src/start.ts b/packages/api-extractor/src/start.ts index 89f094c19..d525d681e 100644 --- a/packages/api-extractor/src/start.ts +++ b/packages/api-extractor/src/start.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import * as os from 'node:os'; -import * as process from 'node:process'; +import process from 'node:process'; import colors from 'colors'; import { Extractor } from './api/Extractor.js'; import { ApiExtractorCommandLine } from './cli/ApiExtractorCommandLine.js'; diff --git a/packages/brokers/src/brokers/redis/RPCRedis.ts b/packages/brokers/src/brokers/redis/RPCRedis.ts index 368652d3a..038365a25 100644 --- a/packages/brokers/src/brokers/redis/RPCRedis.ts +++ b/packages/brokers/src/brokers/redis/RPCRedis.ts @@ -1,5 +1,4 @@ import type { Buffer } from 'node:buffer'; -import { clearTimeout, setTimeout } from 'node:timers'; import type Redis from 'ioredis/built/Redis.js'; import type { IRPCBroker } from '../Broker.js'; import type { RedisBrokerOptions } from './BaseRedis.js'; diff --git a/packages/core/src/api/oauth2.ts b/packages/core/src/api/oauth2.ts index 76289c347..bf3d24916 100644 --- a/packages/core/src/api/oauth2.ts +++ b/packages/core/src/api/oauth2.ts @@ -27,7 +27,6 @@ export class OAuth2API { * @param options - The options for creating the authorization URL */ public generateAuthorizationURL(options: RESTOAuth2AuthorizationQuery) { - // eslint-disable-next-line n/prefer-global/url const url = new URL(`${RouteBases.api}${Routes.oauth2Authorization()}`); url.search = makeURLSearchParams(options).toString(); return url.toString(); diff --git a/packages/core/src/client.ts b/packages/core/src/client.ts index 03c5f24c3..88824da02 100644 --- a/packages/core/src/client.ts +++ b/packages/core/src/client.ts @@ -1,4 +1,3 @@ -import { clearTimeout, setTimeout } from 'node:timers'; import type { REST } from '@discordjs/rest'; import { calculateShardId, GatewayRateLimitError } from '@discordjs/util'; import { WebSocketShardEvents } from '@discordjs/ws'; diff --git a/packages/create-discord-bot/bin/index.ts b/packages/create-discord-bot/bin/index.ts index 6aa47fbf9..9fc0c7200 100644 --- a/packages/create-discord-bot/bin/index.ts +++ b/packages/create-discord-bot/bin/index.ts @@ -1,6 +1,5 @@ #!/usr/bin/env node -// eslint-disable-next-line n/shebang import process from 'node:process'; import { styleText } from 'node:util'; import { Option, program } from 'commander'; diff --git a/packages/create-discord-bot/scripts/rename-to-app.mjs b/packages/create-discord-bot/scripts/rename-to-app.mjs index 16d15a4c5..a67c4de05 100644 --- a/packages/create-discord-bot/scripts/rename-to-app.mjs +++ b/packages/create-discord-bot/scripts/rename-to-app.mjs @@ -1,5 +1,4 @@ import { readFile, writeFile } from 'node:fs/promises'; -import { URL } from 'node:url'; const pkgJsonPath = new URL('../package.json', import.meta.url); const pkgJson = JSON.parse(await readFile(pkgJsonPath, 'utf8')); diff --git a/packages/create-discord-bot/src/create-discord-bot.ts b/packages/create-discord-bot/src/create-discord-bot.ts index 8549bc4b3..303b25f52 100644 --- a/packages/create-discord-bot/src/create-discord-bot.ts +++ b/packages/create-discord-bot/src/create-discord-bot.ts @@ -2,7 +2,6 @@ import type { ExecException } from 'node:child_process'; import { cp, mkdir, stat, readdir, readFile, writeFile } from 'node:fs/promises'; import path from 'node:path'; import process from 'node:process'; -import { URL } from 'node:url'; import { styleText } from 'node:util'; import type { PackageManager } from './helpers/packageManager.js'; import { install } from './helpers/packageManager.js'; diff --git a/packages/create-discord-bot/template/JavaScript/eslint.config.js b/packages/create-discord-bot/template/JavaScript/eslint.config.js index 5d92eaf15..22509ee23 100644 --- a/packages/create-discord-bot/template/JavaScript/eslint.config.js +++ b/packages/create-discord-bot/template/JavaScript/eslint.config.js @@ -11,6 +11,14 @@ const config = [ ...prettier, { rules: { + 'no-restricted-globals': 0, + 'n/prefer-global/buffer': [2, 'never'], + 'n/prefer-global/console': [2, 'always'], + 'n/prefer-global/process': [2, 'never'], + 'n/prefer-global/text-decoder': [2, 'always'], + 'n/prefer-global/text-encoder': [2, 'always'], + 'n/prefer-global/url-search-params': [2, 'always'], + 'n/prefer-global/url': [2, 'always'], 'jsdoc/check-tag-names': 0, 'jsdoc/no-undefined-types': 0, 'jsdoc/valid-types': 0, diff --git a/packages/create-discord-bot/template/JavaScript/src/events/interactionCreate.js b/packages/create-discord-bot/template/JavaScript/src/events/interactionCreate.js index eaf764aaa..eb2fed7c6 100644 --- a/packages/create-discord-bot/template/JavaScript/src/events/interactionCreate.js +++ b/packages/create-discord-bot/template/JavaScript/src/events/interactionCreate.js @@ -1,4 +1,3 @@ -import { URL } from 'node:url'; import { Events } from 'discord.js'; import { loadCommands } from '../util/loaders.js'; diff --git a/packages/create-discord-bot/template/JavaScript/src/index.js b/packages/create-discord-bot/template/JavaScript/src/index.js index 73e4ae0cb..18b5c42bd 100644 --- a/packages/create-discord-bot/template/JavaScript/src/index.js +++ b/packages/create-discord-bot/template/JavaScript/src/index.js @@ -1,5 +1,4 @@ import process from 'node:process'; -import { URL } from 'node:url'; import { Client, GatewayIntentBits } from 'discord.js'; import { loadEvents } from './util/loaders.js'; diff --git a/packages/create-discord-bot/template/JavaScript/src/util/deploy.js b/packages/create-discord-bot/template/JavaScript/src/util/deploy.js index 7120c4a7e..f09f4ac1f 100644 --- a/packages/create-discord-bot/template/JavaScript/src/util/deploy.js +++ b/packages/create-discord-bot/template/JavaScript/src/util/deploy.js @@ -1,5 +1,4 @@ import process from 'node:process'; -import { URL } from 'node:url'; import { API } from '@discordjs/core/http-only'; import { REST } from 'discord.js'; import { loadCommands } from './loaders.js'; diff --git a/packages/create-discord-bot/template/JavaScript/src/util/loaders.js b/packages/create-discord-bot/template/JavaScript/src/util/loaders.js index 4b37580cb..66a2c5f74 100644 --- a/packages/create-discord-bot/template/JavaScript/src/util/loaders.js +++ b/packages/create-discord-bot/template/JavaScript/src/util/loaders.js @@ -1,6 +1,6 @@ import { glob, stat } from 'node:fs/promises'; import { basename, resolve } from 'node:path'; -import { fileURLToPath, URL } from 'node:url'; +import { fileURLToPath } from 'node:url'; import { predicate as commandPredicate } from '../commands/index.js'; import { predicate as eventPredicate } from '../events/index.js'; diff --git a/packages/create-discord-bot/template/TypeScript/eslint.config.js b/packages/create-discord-bot/template/TypeScript/eslint.config.js index 041e3ca10..392da30b6 100644 --- a/packages/create-discord-bot/template/TypeScript/eslint.config.js +++ b/packages/create-discord-bot/template/TypeScript/eslint.config.js @@ -18,6 +18,14 @@ const config = [ }, }, rules: { + 'no-restricted-globals': 0, + 'n/prefer-global/buffer': [2, 'never'], + 'n/prefer-global/console': [2, 'always'], + 'n/prefer-global/process': [2, 'never'], + 'n/prefer-global/text-decoder': [2, 'always'], + 'n/prefer-global/text-encoder': [2, 'always'], + 'n/prefer-global/url-search-params': [2, 'always'], + 'n/prefer-global/url': [2, 'always'], 'import/extensions': 0, }, }, diff --git a/packages/create-discord-bot/template/TypeScript/src/events/interactionCreate.ts b/packages/create-discord-bot/template/TypeScript/src/events/interactionCreate.ts index fe37d3d67..e7cad6726 100644 --- a/packages/create-discord-bot/template/TypeScript/src/events/interactionCreate.ts +++ b/packages/create-discord-bot/template/TypeScript/src/events/interactionCreate.ts @@ -1,4 +1,3 @@ -import { URL } from 'node:url'; import { Events } from 'discord.js'; import { loadCommands } from '../util/loaders.ts'; import type { Event } from './index.ts'; diff --git a/packages/create-discord-bot/template/TypeScript/src/index.ts b/packages/create-discord-bot/template/TypeScript/src/index.ts index ddb980d95..af00931b9 100644 --- a/packages/create-discord-bot/template/TypeScript/src/index.ts +++ b/packages/create-discord-bot/template/TypeScript/src/index.ts @@ -1,5 +1,4 @@ import process from 'node:process'; -import { URL } from 'node:url'; import { Client, GatewayIntentBits } from 'discord.js'; import { loadEvents } from './util/loaders.ts'; diff --git a/packages/create-discord-bot/template/TypeScript/src/util/deploy.ts b/packages/create-discord-bot/template/TypeScript/src/util/deploy.ts index a5b7ef25a..47ed766af 100644 --- a/packages/create-discord-bot/template/TypeScript/src/util/deploy.ts +++ b/packages/create-discord-bot/template/TypeScript/src/util/deploy.ts @@ -1,5 +1,4 @@ import process from 'node:process'; -import { URL } from 'node:url'; import { API } from '@discordjs/core/http-only'; import { REST } from 'discord.js'; import { loadCommands } from './loaders.ts'; diff --git a/packages/create-discord-bot/template/TypeScript/src/util/loaders.ts b/packages/create-discord-bot/template/TypeScript/src/util/loaders.ts index 94f8cab10..923a16137 100644 --- a/packages/create-discord-bot/template/TypeScript/src/util/loaders.ts +++ b/packages/create-discord-bot/template/TypeScript/src/util/loaders.ts @@ -1,7 +1,7 @@ import type { PathLike } from 'node:fs'; import { glob, stat } from 'node:fs/promises'; import { basename, resolve } from 'node:path'; -import { fileURLToPath, URL } from 'node:url'; +import { fileURLToPath } from 'node:url'; import { predicate as commandPredicate, type Command } from '../commands/index.ts'; import { predicate as eventPredicate, type Event } from '../events/index.ts'; diff --git a/packages/discord.js/scripts/esmDts.mjs b/packages/discord.js/scripts/esmDts.mjs index 907e55b0e..417276127 100644 --- a/packages/discord.js/scripts/esmDts.mjs +++ b/packages/discord.js/scripts/esmDts.mjs @@ -1,5 +1,4 @@ import { cp } from 'node:fs/promises'; -import { URL } from 'node:url'; const rawIndexDTS = new URL('../typings/index.d.ts', import.meta.url); const rawIndexMTS = new URL('../typings/index.d.mts', import.meta.url); diff --git a/packages/discord.js/scripts/generateRequires.mjs b/packages/discord.js/scripts/generateRequires.mjs index 8cec4d51a..38ca9207b 100644 --- a/packages/discord.js/scripts/generateRequires.mjs +++ b/packages/discord.js/scripts/generateRequires.mjs @@ -1,5 +1,4 @@ import { readdir, writeFile } from 'node:fs/promises'; -import { URL } from 'node:url'; async function writeWebsocketHandlerImports() { const lines = ["'use strict';\n", 'const PacketHandlers = Object.fromEntries([']; diff --git a/packages/docgen/bin/index.ts b/packages/docgen/bin/index.ts index 93a518ecb..df740a1de 100644 --- a/packages/docgen/bin/index.ts +++ b/packages/docgen/bin/index.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -/* eslint-disable n/shebang */ + import process from 'node:process'; import { createCommand } from 'commander'; import packageFile from '../package.json'; diff --git a/packages/formatters/__tests__/formatters.test.ts b/packages/formatters/__tests__/formatters.test.ts index 3de091b4b..dd6475882 100644 --- a/packages/formatters/__tests__/formatters.test.ts +++ b/packages/formatters/__tests__/formatters.test.ts @@ -1,5 +1,4 @@ /* eslint-disable no-template-curly-in-string */ -import { URL } from 'node:url'; import { describe, test, expect, vitest } from 'vitest'; import { applicationDirectory, diff --git a/packages/formatters/src/formatters.ts b/packages/formatters/src/formatters.ts index 7a1cc34e6..e4de2f7bb 100644 --- a/packages/formatters/src/formatters.ts +++ b/packages/formatters/src/formatters.ts @@ -1,4 +1,3 @@ -import type { URL } from 'node:url'; import type { Snowflake } from 'discord-api-types/globals'; /** @@ -687,7 +686,6 @@ export function email( */ export function email(email: Email, headers?: Record) { if (headers) { - // eslint-disable-next-line n/prefer-global/url-search-params const searchParams = new URLSearchParams( Object.fromEntries(Object.entries(headers).map(([key, value]) => [key.toLowerCase(), value])), ); diff --git a/packages/proxy/src/handlers/proxyRequests.ts b/packages/proxy/src/handlers/proxyRequests.ts index a98423445..d76d4f122 100644 --- a/packages/proxy/src/handlers/proxyRequests.ts +++ b/packages/proxy/src/handlers/proxyRequests.ts @@ -1,4 +1,3 @@ -import { URL } from 'node:url'; import type { RequestMethod, REST, RouteLike } from '@discordjs/rest'; import { populateSuccessfulResponse, populateErrorResponse } from '../util/responseHelpers.js'; import type { RequestHandler } from '../util/util.js'; diff --git a/packages/rest/__tests__/BurstHandler.test.ts b/packages/rest/__tests__/BurstHandler.test.ts index cdd7212c4..91c754a8d 100644 --- a/packages/rest/__tests__/BurstHandler.test.ts +++ b/packages/rest/__tests__/BurstHandler.test.ts @@ -1,6 +1,5 @@ /* eslint-disable id-length */ /* eslint-disable promise/prefer-await-to-then */ -import { performance } from 'node:perf_hooks'; import { MockAgent, setGlobalDispatcher } from 'undici'; import type { Interceptable, MockInterceptor } from 'undici/types/mock-interceptor'; import { beforeEach, afterEach, test, expect } from 'vitest'; diff --git a/packages/rest/__tests__/DiscordAPIError.test.ts b/packages/rest/__tests__/DiscordAPIError.test.ts index 05fe6703a..3a32e232e 100644 --- a/packages/rest/__tests__/DiscordAPIError.test.ts +++ b/packages/rest/__tests__/DiscordAPIError.test.ts @@ -1,4 +1,3 @@ -import { URLSearchParams } from 'node:url'; import { test, expect } from 'vitest'; import { DiscordAPIError } from '../src/index.js'; diff --git a/packages/rest/__tests__/REST.test.ts b/packages/rest/__tests__/REST.test.ts index 54aa3016a..4f5ddab6d 100644 --- a/packages/rest/__tests__/REST.test.ts +++ b/packages/rest/__tests__/REST.test.ts @@ -1,5 +1,4 @@ -import { Buffer, File } from 'node:buffer'; -import { URLSearchParams } from 'node:url'; +import { Buffer } from 'node:buffer'; import { DiscordSnowflake } from '@sapphire/snowflake'; import type { Snowflake } from 'discord-api-types/v10'; import { Routes } from 'discord-api-types/v10'; diff --git a/packages/rest/__tests__/RequestHandler.test.ts b/packages/rest/__tests__/RequestHandler.test.ts index 16f02769c..e3333dfb5 100644 --- a/packages/rest/__tests__/RequestHandler.test.ts +++ b/packages/rest/__tests__/RequestHandler.test.ts @@ -1,7 +1,5 @@ /* eslint-disable id-length */ /* eslint-disable promise/prefer-await-to-then */ -import { performance } from 'node:perf_hooks'; -import { setInterval, clearInterval } from 'node:timers'; import { MockAgent, setGlobalDispatcher } from 'undici'; import type { Interceptable, MockInterceptor } from 'undici/types/mock-interceptor.js'; import { beforeEach, afterEach, test, expect, vitest } from 'vitest'; diff --git a/packages/rest/__tests__/UndiciRequest.test.ts b/packages/rest/__tests__/UndiciRequest.test.ts index 814458c72..36ddfb6de 100644 --- a/packages/rest/__tests__/UndiciRequest.test.ts +++ b/packages/rest/__tests__/UndiciRequest.test.ts @@ -1,5 +1,4 @@ import { Blob, Buffer } from 'node:buffer'; -import { URLSearchParams } from 'node:url'; import { MockAgent, setGlobalDispatcher, FormData as UndiciFormData } from 'undici'; import type { Interceptable, MockInterceptor } from 'undici/types/mock-interceptor.js'; import { beforeEach, afterEach, test, expect, vitest } from 'vitest'; diff --git a/packages/rest/src/lib/handlers/Shared.ts b/packages/rest/src/lib/handlers/Shared.ts index 2b186f23d..05600f9be 100644 --- a/packages/rest/src/lib/handlers/Shared.ts +++ b/packages/rest/src/lib/handlers/Shared.ts @@ -1,3 +1,5 @@ +/* eslint-disable n/prefer-global/process */ + import type { RequestInit } from 'undici'; import type { REST } from '../REST.js'; import type { DiscordErrorData, OAuthErrorData } from '../errors/DiscordAPIError.js'; diff --git a/packages/rest/src/lib/utils/utils.ts b/packages/rest/src/lib/utils/utils.ts index 30292d5f7..e877c8fbc 100644 --- a/packages/rest/src/lib/utils/utils.ts +++ b/packages/rest/src/lib/utils/utils.ts @@ -1,3 +1,4 @@ +import type { Buffer } from 'node:buffer'; import type { RESTPatchAPIChannelJSONBody, Snowflake } from 'discord-api-types/v10'; import type { REST } from '../REST.js'; import { RateLimitError } from '../errors/RateLimitError.js'; diff --git a/packages/rest/src/strategies/undiciRequest.ts b/packages/rest/src/strategies/undiciRequest.ts index bafd05028..c7be5327b 100644 --- a/packages/rest/src/strategies/undiciRequest.ts +++ b/packages/rest/src/strategies/undiciRequest.ts @@ -1,5 +1,5 @@ +import { Buffer } from 'node:buffer'; import { STATUS_CODES } from 'node:http'; -import { URLSearchParams } from 'node:url'; import { types } from 'node:util'; import { type RequestInit, request, Headers, FormData as UndiciFormData, Agent } from 'undici'; import type { HeaderRecord } from 'undici/types/header.js'; diff --git a/packages/scripts/bin/generateSplitDocumentation.ts b/packages/scripts/bin/generateSplitDocumentation.ts index 957449cbc..339a8b903 100644 --- a/packages/scripts/bin/generateSplitDocumentation.ts +++ b/packages/scripts/bin/generateSplitDocumentation.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -/* eslint-disable n/shebang */ + import { readFile } from 'node:fs/promises'; import process from 'node:process'; import { createCommand } from 'commander'; @@ -20,11 +20,8 @@ void generateSplitDocumentation( opts.all ? {} : { - fetchPackageVersions: async (_) => { - return ['main']; - }, - fetchPackageVersionDocs: async (_, __) => { - return JSON.parse(await readFile(`${process.cwd()}/docs/docs.api.json`, 'utf8')); - }, + fetchPackageVersions: async (_) => ['main'], + fetchPackageVersionDocs: async (_, __) => + JSON.parse(await readFile(`${process.cwd()}/docs/docs.api.json`, 'utf8')), }, ).then(() => console.log('Generated split documentation.')); diff --git a/packages/scripts/src/generateIndex.ts b/packages/scripts/src/generateIndex.ts index 4712ddc95..0cfba390a 100644 --- a/packages/scripts/src/generateIndex.ts +++ b/packages/scripts/src/generateIndex.ts @@ -1,6 +1,6 @@ import { stat, mkdir, writeFile } from 'node:fs/promises'; import { join } from 'node:path'; -import { cwd } from 'node:process'; +import process from 'node:process'; import { type ApiItem, ApiPackage, @@ -151,13 +151,13 @@ export async function writeIndexToFileSystem( const dir = 'searchIndex'; try { - (await stat(join(cwd(), 'public', dir))).isDirectory(); + (await stat(join(process.cwd(), 'public', dir))).isDirectory(); } catch { - await mkdir(join(cwd(), 'public', dir)); + await mkdir(join(process.cwd(), 'public', dir)); } await writeFile( - join(cwd(), 'public', dir, `${packageName}-${tag}-index.json`), + join(process.cwd(), 'public', dir, `${packageName}-${tag}-index.json`), JSON.stringify(members, undefined, 2), ); } diff --git a/packages/scripts/src/generateSplitDocumentation.ts b/packages/scripts/src/generateSplitDocumentation.ts index 87f164f33..3471408be 100644 --- a/packages/scripts/src/generateSplitDocumentation.ts +++ b/packages/scripts/src/generateSplitDocumentation.ts @@ -1,6 +1,6 @@ import { mkdir, stat, writeFile } from 'node:fs/promises'; import { join } from 'node:path'; -import { cwd } from 'node:process'; +import process from 'node:process'; import { type ApiClass, type ApiConstructor, @@ -1001,14 +1001,14 @@ async function writeSplitDocsToFileSystem({ const dir = 'split'; try { - (await stat(join(cwd(), 'docs', packageName, dir))).isDirectory(); + (await stat(join(process.cwd(), 'docs', packageName, dir))).isDirectory(); } catch { - await mkdir(join(cwd(), 'docs', packageName, dir), { recursive: true }); + await mkdir(join(process.cwd(), 'docs', packageName, dir), { recursive: true }); } await writeFile( join( - cwd(), + process.cwd(), 'docs', packageName, dir, diff --git a/packages/scripts/src/populateDevDatabaseBranch.ts b/packages/scripts/src/populateDevDatabaseBranch.ts index 54b17d9bc..c185aa88a 100644 --- a/packages/scripts/src/populateDevDatabaseBranch.ts +++ b/packages/scripts/src/populateDevDatabaseBranch.ts @@ -1,5 +1,5 @@ import { readFile } from 'node:fs/promises'; -import process, { cwd } from 'node:process'; +import process from 'node:process'; import { create } from '@actions/glob'; import { put } from '@vercel/blob'; import { createPool } from '@vercel/postgres'; @@ -8,7 +8,7 @@ const pool = createPool({ connectionString: process.env.DATABASE_URL, }); -process.chdir(`${cwd()}/../../`); +process.chdir(`${process.cwd()}/../../`); const globber = await create(`packages/*/docs/*.api.json`); for await (const file of globber.globGenerator()) { const parsed = /(?\d+.\d+.\d+)-?.*/.exec(file); diff --git a/packages/voice/__tests__/Secretbox.test.ts b/packages/voice/__tests__/Secretbox.test.ts index 48dd4ea25..4fb4e6808 100644 --- a/packages/voice/__tests__/Secretbox.test.ts +++ b/packages/voice/__tests__/Secretbox.test.ts @@ -1,3 +1,4 @@ +import { Buffer } from 'node:buffer'; import { test, expect, vitest } from 'vitest'; import { methods, secretboxLoadPromise } from '../src/util/Secretbox'; diff --git a/packages/voice/src/receive/AudioReceiveStream.ts b/packages/voice/src/receive/AudioReceiveStream.ts index a180b0707..394b5f970 100644 --- a/packages/voice/src/receive/AudioReceiveStream.ts +++ b/packages/voice/src/receive/AudioReceiveStream.ts @@ -1,5 +1,5 @@ import type { Buffer } from 'node:buffer'; -import { nextTick } from 'node:process'; +import process from 'node:process'; import { Readable, type ReadableOptions } from 'node:stream'; import { SILENCE_FRAME } from '../audio/AudioPlayer'; @@ -79,7 +79,7 @@ export class AudioReceiveStream extends Readable { if (buffer === null) { // null marks EOF for stream - nextTick(() => this.destroy()); + process.nextTick(() => this.destroy()); } return super.push(buffer); diff --git a/packages/ws/__tests__/strategy/WorkerShardingStrategy.test.ts b/packages/ws/__tests__/strategy/WorkerShardingStrategy.test.ts index c4d3fade0..65440639b 100644 --- a/packages/ws/__tests__/strategy/WorkerShardingStrategy.test.ts +++ b/packages/ws/__tests__/strategy/WorkerShardingStrategy.test.ts @@ -1,5 +1,4 @@ /* eslint-disable id-length */ -import { setImmediate } from 'node:timers'; import type { GatewayDispatchPayload, GatewaySendPayload } from 'discord-api-types/v10'; import { GatewayDispatchEvents, GatewayOpcodes } from 'discord-api-types/v10'; import { test, vi, expect, afterEach } from 'vitest'; diff --git a/packages/ws/src/ws/WebSocketShard.ts b/packages/ws/src/ws/WebSocketShard.ts index fb4c7d823..3d9a61ff3 100644 --- a/packages/ws/src/ws/WebSocketShard.ts +++ b/packages/ws/src/ws/WebSocketShard.ts @@ -1,9 +1,6 @@ import { Buffer } from 'node:buffer'; import { once } from 'node:events'; -import { clearInterval, clearTimeout, setInterval, setTimeout } from 'node:timers'; import { setTimeout as sleep } from 'node:timers/promises'; -import { URLSearchParams } from 'node:url'; -import { TextDecoder } from 'node:util'; import type * as nativeZlib from 'node:zlib'; import { Collection } from '@discordjs/collection'; import { lazy, shouldUseGlobalFetchAndWebSocket } from '@discordjs/util';