summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-04-19 21:35:30 +0200
committerRory& <root@rory.gay>2026-04-19 22:45:37 +0200
commit5f8afbc7ae7603752c2c9732994f0a9b1eb4938a (patch)
tree90f8ce52a53a680b530885fa1d7901f082d8f807
parentMinor package updates (diff)
downloadserver-ts-5f8afbc7ae7603752c2c9732994f0a9b1eb4938a.tar.xz
eslint: array callback return, no restricted imports
-rw-r--r--.lintstagedrc.mjs2
-rw-r--r--eslint.config.mjs21
-rw-r--r--package-lock.json17
-rw-r--r--package.json1
-rw-r--r--src/api/Server.ts2
-rw-r--r--src/api/middlewares/ImageProxy.ts2
-rw-r--r--src/api/middlewares/Translation.ts4
-rw-r--r--src/api/routes/auth/login.ts2
-rw-r--r--src/api/routes/channels/#channel_id/messages/index.ts31
-rw-r--r--src/api/routes/channels/#channel_id/webhooks.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/shield.svg.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/widget.json.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/widget.png.ts4
-rw-r--r--src/api/routes/interactions/index.ts2
-rw-r--r--src/api/routes/reporting/index.ts4
-rw-r--r--src/api/start.ts6
-rw-r--r--src/api/util/handlers/Instance.ts2
-rw-r--r--src/api/util/handlers/Message.ts7
-rw-r--r--src/api/util/utility/EmbedHandlers.ts2
-rw-r--r--src/api/util/utility/RandomInviteID.ts2
-rw-r--r--src/bundle/Server.ts6
-rw-r--r--src/bundle/start.ts4
-rw-r--r--src/bundle/stats.ts2
-rw-r--r--src/cdn/Server.ts2
-rw-r--r--src/cdn/routes/app-assets.ts2
-rw-r--r--src/cdn/routes/app-icons.ts2
-rw-r--r--src/cdn/routes/avatars.ts2
-rw-r--r--src/cdn/routes/banners.ts2
-rw-r--r--src/cdn/routes/channel-icons.ts2
-rw-r--r--src/cdn/routes/discover-splashes.ts2
-rw-r--r--src/cdn/routes/discovery-splashes.ts2
-rw-r--r--src/cdn/routes/embed.ts4
-rw-r--r--src/cdn/routes/emojis.ts2
-rw-r--r--src/cdn/routes/guild-profiles.ts2
-rw-r--r--src/cdn/routes/icons.ts2
-rw-r--r--src/cdn/routes/role-icons.ts2
-rw-r--r--src/cdn/routes/splashes.ts2
-rw-r--r--src/cdn/routes/stickers.ts2
-rw-r--r--src/cdn/routes/team-icons.ts2
-rw-r--r--src/cdn/start.ts4
-rw-r--r--src/cdn/util/FileStorage.ts8
-rw-r--r--src/cdn/util/S3Storage.ts2
-rw-r--r--src/cdn/util/Storage.ts4
-rw-r--r--src/gateway/Server.ts4
-rw-r--r--src/gateway/events/Connection.ts4
-rw-r--r--src/gateway/events/Message.ts4
-rw-r--r--src/gateway/start.ts4
-rw-r--r--src/gateway/util/Send.ts4
-rw-r--r--src/schemas/Validator.ts4
-rw-r--r--src/util/Signing.ts3
-rw-r--r--src/util/config/types/SecurityConfiguration.ts2
-rw-r--r--src/util/connections/Connection.ts2
-rw-r--r--src/util/connections/ConnectionLoader.ts4
-rw-r--r--src/util/entities/BackupCodes.ts2
-rw-r--r--src/util/entities/Guild.ts27
-rw-r--r--src/util/entities/Session.ts2
-rw-r--r--src/util/util/Config.ts4
-rw-r--r--src/util/util/Database.ts4
-rw-r--r--src/util/util/Event.ts10
-rw-r--r--src/util/util/RabbitMQ.ts2
-rw-r--r--src/util/util/Snowflake.ts2
-rw-r--r--src/util/util/Token.ts6
-rw-r--r--src/util/util/Version.ts6
-rw-r--r--src/util/util/email/index.ts2
-rw-r--r--src/util/util/json/JsonSerializer.test.ts4
-rw-r--r--src/util/util/json/JsonSerializer.ts6
-rw-r--r--src/util/util/json/jsonWorker.ts2
-rw-r--r--src/util/util/lambert-server/Server.ts4
-rw-r--r--src/util/util/lambert-server/Utils.ts2
-rw-r--r--src/webrtc/Server.ts3
-rw-r--r--src/webrtc/events/Connection.ts4
-rw-r--r--src/webrtc/start.ts4
72 files changed, 175 insertions, 141 deletions
diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs

index f0ae6d5d..1bf04eda 100644 --- a/.lintstagedrc.mjs +++ b/.lintstagedrc.mjs
@@ -1,4 +1,4 @@ export default { - "*.{j,t}s": ["eslint", "prettier --write"], + "*.{j,t}s": ["eslint --concurrency 4" /* sweet spot it seems */, "prettier --write"], "src/schemas/{*,**/*}.ts": [() => "tsc -b -v", () => "node scripts/schema.js", () => "node scripts/openapi.js"], }; diff --git a/eslint.config.mjs b/eslint.config.mjs
index eb865c2a..b52ab1f7 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs
@@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url"; import js from "@eslint/js"; import { FlatCompat } from "@eslint/eslintrc"; import { defineConfig } from "eslint/config"; +import nodeImport from "eslint-plugin-node-import"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -17,7 +18,7 @@ const compat = new FlatCompat({ export default defineConfig([ { - ignores: ["**/node_modules", "**/dist", "**/README.md", "**/COPYING", "**/scripts/", "**/assets", "**/extra/"], + ignores: ["./node_modules", "./dist", "**/README.md", "**/COPYING", "./scripts/", "./assets/", "./extra/", "./files/"], }, ...compat.extends("eslint:recommended", "plugin:@typescript-eslint/recommended"), { @@ -46,10 +47,28 @@ export default defineConfig([ "@typescript-eslint/no-require-imports": "off", "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-deprecated": "warn", + "array-callback-return": "error", + "no-restricted-imports": [ + "error", + { name: "@spacebar/api*", message: "Did you mean @spacebar/api?" }, + { name: "@spacebar/bundle*", message: "Did you mean @spacebar/bundle?" }, + { name: "@spacebar/cdn*", message: "Did you mean @spacebar/cdn?" }, + { name: "@spacebar/connections*", message: "Did you mean @spacebar/connections?" }, + { name: "@spacebar/gateway*", message: "Did you mean @spacebar/gateway?" }, + { name: "@spacebar/schemas*", message: "Did you mean @spacebar/schemas?" }, + { name: "@spacebar/util*", message: "Did you mean @spacebar/util?" }, + { name: "node:console" }, + ], }, }, { files: ["**/*.js", "**/*.cjs", "**/*.mjs"], extends: typescriptEslint.configs?.disableTypeChecked ? [typescriptEslint.configs.disableTypeChecked] : [], }, + { + plugins: { "node-import": nodeImport }, + rules: { + "node-import/prefer-node-protocol": "error", + }, + }, ]); diff --git a/package-lock.json b/package-lock.json
index 9fe8fc74..827b0fea 100644 --- a/package-lock.json +++ b/package-lock.json
@@ -77,6 +77,7 @@ "@typescript-eslint/parser": "^8.58.2", "@typescript/native-preview": "^7.0.0-dev.20260119.1", "eslint": "^9.39.4", + "eslint-plugin-node-import": "^1.2.0", "globals": "^17.5.0", "husky": "^9.1.7", "patch-package": "^8.0.1", @@ -3396,6 +3397,22 @@ } } }, + "node_modules/eslint-plugin-node-import": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node-import/-/eslint-plugin-node-import-1.2.0.tgz", + "integrity": "sha512-PO/98sYHIwXiHaX7pFl1h1ZFFTdtPDZmq4VU2ks/7kLjzDK+5cmMWN9A08wjUErYDuVdH8q4Ft0bXt39Fu/Eng==", + "dev": true, + "license": "ISC", + "dependencies": { + "globals": "^17.3.0" + }, + "engines": { + "node": "^14.18.0 || ^16.0.0 || >= 18.0.0" + }, + "peerDependencies": { + "eslint": ">=7" + } + }, "node_modules/eslint-scope": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", diff --git a/package.json b/package.json
index 30470555..63fdd923 100644 --- a/package.json +++ b/package.json
@@ -67,6 +67,7 @@ "@typescript-eslint/parser": "^8.58.2", "@typescript/native-preview": "^7.0.0-dev.20260119.1", "eslint": "^9.39.4", + "eslint-plugin-node-import": "^1.2.0", "globals": "^17.5.0", "husky": "^9.1.7", "patch-package": "^8.0.1", diff --git a/src/api/Server.ts b/src/api/Server.ts
index 1e5786ed..a2e63f46 100644 --- a/src/api/Server.ts +++ b/src/api/Server.ts
@@ -21,7 +21,7 @@ import { Authentication, CORS, ImageProxy, BodyParser, ErrorHandler, initRateLim import { Request, Response, Router } from "express"; import { Server, ServerOptions } from "lambert-server"; import morgan from "morgan"; -import path from "path"; +import path from "node:path"; import { red } from "picocolors"; import { initInstance } from "./util/handlers/Instance"; import { route } from "./util"; diff --git a/src/api/middlewares/ImageProxy.ts b/src/api/middlewares/ImageProxy.ts
index e950ea85..66d39bd6 100644 --- a/src/api/middlewares/ImageProxy.ts +++ b/src/api/middlewares/ImageProxy.ts
@@ -19,7 +19,7 @@ import { Config, JimpType } from "@spacebar/util"; import { Request, Response } from "express"; import { yellow } from "picocolors"; -import crypto from "crypto"; +import crypto from "node:crypto"; let sharp: undefined | false | { default: typeof import("sharp") } = undefined; diff --git a/src/api/middlewares/Translation.ts b/src/api/middlewares/Translation.ts
index 3ca204b6..1d8e0984 100644 --- a/src/api/middlewares/Translation.ts +++ b/src/api/middlewares/Translation.ts
@@ -16,8 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; import i18next from "i18next"; import i18nextMiddleware from "i18next-http-middleware"; import i18nextBackend from "i18next-fs-backend"; diff --git a/src/api/routes/auth/login.ts b/src/api/routes/auth/login.ts
index 466d264a..64211de8 100644 --- a/src/api/routes/auth/login.ts +++ b/src/api/routes/auth/login.ts
@@ -19,7 +19,7 @@ import { route, verifyCaptcha } from "@spacebar/api"; import { Config, FieldErrors, User, WebAuthn, generateToken, generateWebAuthnTicket } from "@spacebar/util"; import bcrypt from "bcrypt"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { Request, Response, Router } from "express"; import { LoginSchema } from "@spacebar/schemas"; diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index a484c35c..b117e3ac 100644 --- a/src/api/routes/channels/#channel_id/messages/index.ts +++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -47,7 +47,7 @@ import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; import multer from "multer"; import { FindManyOptions, FindOperator, LessThan, MoreThan, MoreThanOrEqual } from "typeorm"; -import { URL } from "url"; +import { URL } from "node:url"; import { AcknowledgeDeleteSchema, isTextChannel, @@ -438,19 +438,22 @@ router.post( // Only one recipients should be closed here, since in group DMs the recipient is deleted not closed await Promise.all( - channel.recipients?.map((recipient) => { - if (recipient.closed) { - recipient.closed = false; - return Promise.all([ - recipient.save(), - emitEvent({ - event: "CHANNEL_CREATE", - data: channel_dto.excludedRecipients([recipient.user_id]), - user_id: recipient.user_id, - }), - ]); - } - }) || [], + channel.recipients + ?.map((recipient) => { + if (recipient.closed) { + recipient.closed = false; + return Promise.all([ + recipient.save(), + emitEvent({ + event: "CHANNEL_CREATE", + data: channel_dto.excludedRecipients([recipient.user_id]), + user_id: recipient.user_id, + }), + ]); + } + return null; + }) + .filter((x) => x !== null) || [], ); } diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index ee801db7..ed2dd0ea 100644 --- a/src/api/routes/channels/#channel_id/webhooks.ts +++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -18,7 +18,7 @@ import { route } from "@spacebar/api"; import { Channel, Config, DiscordApiErrors, User, Webhook, handleFile, trimSpecial, ValidateName, Application } from "@spacebar/util"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; import { isTextChannel, WebhookCreateSchema, WebhookType } from "@spacebar/schemas"; diff --git a/src/api/routes/guilds/#guild_id/shield.svg.ts b/src/api/routes/guilds/#guild_id/shield.svg.ts
index bb5e1c7d..983e5a35 100644 --- a/src/api/routes/guilds/#guild_id/shield.svg.ts +++ b/src/api/routes/guilds/#guild_id/shield.svg.ts
@@ -20,8 +20,8 @@ import { route } from "@spacebar/api"; import { DiscordApiErrors, Guild, Member } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { makeBadge } from "badge-maker"; -import path from "path"; -import fs from "fs"; +import path from "node:path"; +import fs from "node:fs"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts
index 945a0db0..0df3f3c0 100644 --- a/src/api/routes/guilds/#guild_id/widget.json.ts +++ b/src/api/routes/guilds/#guild_id/widget.json.ts
@@ -108,8 +108,8 @@ async function getWidgetJsonData(guild_id: string) { // Fetch voice channels, and the @everyone permissions object const channels: { id: string; name: string; position: number }[] = []; - (await Channel.getOrderedChannels(guild.id, guild)).filter((doc) => { - if (doc.type !== ChannelType.GUILD_VOICE) return false; + (await Channel.getOrderedChannels(guild.id, guild)).forEach((doc) => { + if (doc.type !== ChannelType.GUILD_VOICE) return; // Only return voice channels where @everyone has the CONNECT permission if (doc.permission_overwrites === undefined || Permissions.channelPermission(doc.permission_overwrites, Permissions.FLAGS.CONNECT) === Permissions.FLAGS.CONNECT) { channels.push({ diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts
index ee623214..000c1b45 100644 --- a/src/api/routes/guilds/#guild_id/widget.png.ts +++ b/src/api/routes/guilds/#guild_id/widget.png.ts
@@ -21,9 +21,9 @@ import { route } from "@spacebar/api"; import { DiscordApiErrors, Guild } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import fs from "fs"; +import fs from "node:fs"; import { HTTPError } from "lambert-server"; -import path from "path"; +import path from "node:path"; import { storage } from "@spacebar/cdn"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/interactions/index.ts b/src/api/routes/interactions/index.ts
index 33375b14..599a364e 100644 --- a/src/api/routes/interactions/index.ts +++ b/src/api/routes/interactions/index.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { randomBytes } from "crypto"; +import { randomBytes } from "node:crypto"; import { InteractionFailureReason, InteractionSchema } from "@spacebar/schemas"; import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; diff --git a/src/api/routes/reporting/index.ts b/src/api/routes/reporting/index.ts
index 20103c95..76b5169a 100644 --- a/src/api/routes/reporting/index.ts +++ b/src/api/routes/reporting/index.ts
@@ -19,11 +19,11 @@ import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; import { ReportMenuType, ReportMenuTypeNames } from "../../../schemas/api/reports/ReportMenu"; -import path from "path"; +import path from "node:path"; import { HTTPError } from "lambert-server"; import { CreateReportSchema } from "../../../schemas/api/reports/CreateReport"; import { FieldErrors } from "@spacebar/util"; -import fs from "fs"; +import fs from "node:fs"; const router = Router({ mergeParams: true }); if (process.env.LOG_ROUTES !== "false") console.log("[Server] Registering reporting menu routes..."); diff --git a/src/api/start.ts b/src/api/start.ts
index 44e028a0..bb5b23ce 100644 --- a/src/api/start.ts +++ b/src/api/start.ts
@@ -24,9 +24,9 @@ process.on("unhandledRejection", console.error); import { config } from "dotenv"; config({ quiet: true }); import { SpacebarServer } from "./Server"; -import cluster from "cluster"; -import os from "os"; -import fs from "fs"; +import cluster from "node:cluster"; +import os from "node:os"; +import fs from "node:fs"; let cores = 1; try { cores = Number(process.env.THREADS) || os.cpus().length; diff --git a/src/api/util/handlers/Instance.ts b/src/api/util/handlers/Instance.ts
index 6b8d1ec6..f899d07d 100644 --- a/src/api/util/handlers/Instance.ts +++ b/src/api/util/handlers/Instance.ts
@@ -17,7 +17,7 @@ */ import { Session, TimeSpan } from "@spacebar/util"; -import { setInterval } from "timers"; +import { setInterval } from "node:timers"; export async function initInstance() { // TODO: clean up database and delete tombstone data diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index ea42283f..3ebf50e4 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts
@@ -16,13 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { EmbedHandlers, randomString, fillMessageUrlEmbeds } from "@spacebar/api"; +import { randomString, fillMessageUrlEmbeds } from "@spacebar/api"; import { Application, Attachment, Channel, Config, - EmbedCache, emitEvent, EVERYONE_MENTION, getPermission, @@ -31,7 +30,6 @@ import { HERE_MENTION, Message, MessageCreateEvent, - MessageUpdateEvent, Role, ROLE_MENTION, Sticker, @@ -41,7 +39,6 @@ import { Webhook, handleFile, Permissions, - normalizeUrl, DiscordApiErrors, CloudAttachment, ReadState, @@ -49,7 +46,6 @@ import { Session, MessageFlags, FieldErrors, - Snowflake, getDatabase, } from "@spacebar/util"; import { HTTPError } from "lambert-server"; @@ -70,7 +66,6 @@ import { UnfurledMediaItem, BaseMessageComponents, v1CompTypes, - PartialUser, } from "@spacebar/schemas"; const allow_empty = false; // TODO: check webhook, application, system author, stickers diff --git a/src/api/util/utility/EmbedHandlers.ts b/src/api/util/utility/EmbedHandlers.ts
index b799e623..e9165a13 100644 --- a/src/api/util/utility/EmbedHandlers.ts +++ b/src/api/util/utility/EmbedHandlers.ts
@@ -19,7 +19,7 @@ import { arrayDistinctBy, arrayGroupBy, Config, EmbedCache, emitEvent, Message, MessageUpdateEvent, normalizeUrl, OrmUtils, sleep } from "@spacebar/util"; import { Embed, EmbedImage, EmbedType } from "@spacebar/schemas"; import * as cheerio from "cheerio"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { yellow } from "picocolors"; import probe from "probe-image-size"; import { FindOptionsWhere, In } from "typeorm"; diff --git a/src/api/util/utility/RandomInviteID.ts b/src/api/util/utility/RandomInviteID.ts
index d7f2c629..ec54a9fc 100644 --- a/src/api/util/utility/RandomInviteID.ts +++ b/src/api/util/utility/RandomInviteID.ts
@@ -17,7 +17,7 @@ */ import { Snowflake } from "@spacebar/util"; -import crypto from "crypto"; +import crypto from "node:crypto"; // TODO: 'random'? seriously? who named this? // And why is this even here? Just use cryto.randomBytes? diff --git a/src/bundle/Server.ts b/src/bundle/Server.ts
index 7dfe0081..bc36e90a 100644 --- a/src/bundle/Server.ts +++ b/src/bundle/Server.ts
@@ -21,7 +21,7 @@ import morgan from "morgan"; process.on("unhandledRejection", console.error); process.on("uncaughtException", console.error); -import http from "http"; +import http from "node:http"; import * as Api from "@spacebar/api"; import * as Gateway from "@spacebar/gateway"; import * as Webrtc from "@spacebar/webrtc"; @@ -29,8 +29,8 @@ import { CDNServer } from "@spacebar/cdn"; import express from "express"; import { green, bold } from "picocolors"; import { Config, initDatabase } from "@spacebar/util"; -import fs from "fs"; -import cluster from "cluster"; +import fs from "node:fs"; +import cluster from "node:cluster"; const app = express(); const server = http.createServer(); diff --git a/src/bundle/start.ts b/src/bundle/start.ts
index 54be1129..0ffe3779 100644 --- a/src/bundle/start.ts +++ b/src/bundle/start.ts
@@ -20,8 +20,8 @@ import moduleAlias from "module-alias"; moduleAlias(__dirname + "../../../package.json"); import "reflect-metadata"; -import cluster, { Worker } from "cluster"; -import os from "os"; +import cluster, { Worker } from "node:cluster"; +import os from "node:os"; import { red, bold, yellow, cyan, blueBright, redBright } from "picocolors"; import { initStats } from "./stats"; import { config } from "dotenv"; diff --git a/src/bundle/stats.ts b/src/bundle/stats.ts
index d4ad8177..cabcdcc7 100644 --- a/src/bundle/stats.ts +++ b/src/bundle/stats.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import os from "os"; +import os from "node:os"; import { readFileSync } from "node:fs"; import { red } from "picocolors"; diff --git a/src/cdn/Server.ts b/src/cdn/Server.ts
index b75dbfe6..8260407e 100644 --- a/src/cdn/Server.ts +++ b/src/cdn/Server.ts
@@ -19,7 +19,7 @@ import { Server, ServerOptions } from "lambert-server"; import { Attachment, Config, initDatabase, registerRoutes } from "@spacebar/util"; import { CORS, BodyParser } from "@spacebar/api"; -import path from "path"; +import path from "node:path"; import guildProfilesRoute from "./routes/guild-profiles"; import morgan from "morgan"; import { storage } from "./util"; diff --git a/src/cdn/routes/app-assets.ts b/src/cdn/routes/app-assets.ts
index 13d5703b..e3df7fd9 100644 --- a/src/cdn/routes/app-assets.ts +++ b/src/cdn/routes/app-assets.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/app-icons.ts b/src/cdn/routes/app-icons.ts
index 7670d927..378d2092 100644 --- a/src/cdn/routes/app-icons.ts +++ b/src/cdn/routes/app-icons.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/avatars.ts b/src/cdn/routes/avatars.ts
index f50303b9..bf2ab437 100644 --- a/src/cdn/routes/avatars.ts +++ b/src/cdn/routes/avatars.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache } from "../util/cache"; diff --git a/src/cdn/routes/banners.ts b/src/cdn/routes/banners.ts
index 2fedf41b..6867a58e 100644 --- a/src/cdn/routes/banners.ts +++ b/src/cdn/routes/banners.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/channel-icons.ts b/src/cdn/routes/channel-icons.ts
index 23437057..daea1633 100644 --- a/src/cdn/routes/channel-icons.ts +++ b/src/cdn/routes/channel-icons.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/discover-splashes.ts b/src/cdn/routes/discover-splashes.ts
index eca15a3e..d8da7373 100644 --- a/src/cdn/routes/discover-splashes.ts +++ b/src/cdn/routes/discover-splashes.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/discovery-splashes.ts b/src/cdn/routes/discovery-splashes.ts
index ba6fee36..7d0f5058 100644 --- a/src/cdn/routes/discovery-splashes.ts +++ b/src/cdn/routes/discovery-splashes.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/embed.ts b/src/cdn/routes/embed.ts
index 463279af..e63936d0 100644 --- a/src/cdn/routes/embed.ts +++ b/src/cdn/routes/embed.ts
@@ -17,9 +17,9 @@ */ import { Request, Response, Router } from "express"; -import fs from "fs/promises"; +import fs from "node:fs/promises"; import { HTTPError } from "lambert-server"; -import { join } from "path"; +import { join } from "node:path"; import { fileTypeFromBuffer } from "file-type"; import { cache } from "../util/cache"; diff --git a/src/cdn/routes/emojis.ts b/src/cdn/routes/emojis.ts
index 2890d3b3..ad3238a1 100644 --- a/src/cdn/routes/emojis.ts +++ b/src/cdn/routes/emojis.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/guild-profiles.ts b/src/cdn/routes/guild-profiles.ts
index 97e3a47a..20ff2e23 100644 --- a/src/cdn/routes/guild-profiles.ts +++ b/src/cdn/routes/guild-profiles.ts
@@ -17,7 +17,7 @@ */ import { Config } from "@spacebar/util"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; import { multer } from "../util/multer"; diff --git a/src/cdn/routes/icons.ts b/src/cdn/routes/icons.ts
index a42a4fec..5a6a10e9 100644 --- a/src/cdn/routes/icons.ts +++ b/src/cdn/routes/icons.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/role-icons.ts b/src/cdn/routes/role-icons.ts
index 7539fed6..26c41cad 100644 --- a/src/cdn/routes/role-icons.ts +++ b/src/cdn/routes/role-icons.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache } from "../util/cache"; diff --git a/src/cdn/routes/splashes.ts b/src/cdn/routes/splashes.ts
index 85a0b90b..8199441d 100644 --- a/src/cdn/routes/splashes.ts +++ b/src/cdn/routes/splashes.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/stickers.ts b/src/cdn/routes/stickers.ts
index 67e7625e..241ecdab 100644 --- a/src/cdn/routes/stickers.ts +++ b/src/cdn/routes/stickers.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/routes/team-icons.ts b/src/cdn/routes/team-icons.ts
index ad943a19..03db4142 100644 --- a/src/cdn/routes/team-icons.ts +++ b/src/cdn/routes/team-icons.ts
@@ -21,7 +21,7 @@ import { Config } from "@spacebar/util"; import { storage } from "@spacebar/cdn"; import { fileTypeFromBuffer } from "file-type"; import { HTTPError } from "lambert-server"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { multer } from "../util/multer"; import { cache, cacheNotFound } from "../util/cache"; diff --git a/src/cdn/start.ts b/src/cdn/start.ts
index 3d98d5f2..97eaa5f9 100644 --- a/src/cdn/start.ts +++ b/src/cdn/start.ts
@@ -22,8 +22,8 @@ import { config } from "dotenv"; config({ quiet: true }); import { CDNServer } from "./Server"; -import fs from "fs"; -import cluster from "cluster"; +import fs from "node:fs"; +import cluster from "node:cluster"; const server = new CDNServer({ port: Number(process.env.PORT) || 3003 }); server .start() diff --git a/src/cdn/util/FileStorage.ts b/src/cdn/util/FileStorage.ts
index d81aa7ec..eaedbc90 100644 --- a/src/cdn/util/FileStorage.ts +++ b/src/cdn/util/FileStorage.ts
@@ -17,10 +17,10 @@ */ import { Storage } from "./Storage"; -import fs from "fs"; -import fsp from "fs/promises"; -import { join, dirname } from "path"; -import { Readable } from "stream"; +import fs from "node:fs"; +import fsp from "node:fs/promises"; +import { join, dirname } from "node:path"; +import { Readable } from "node:stream"; import ExifTransformer from "exif-be-gone"; export class FileStorage implements Storage { diff --git a/src/cdn/util/S3Storage.ts b/src/cdn/util/S3Storage.ts
index 82d9954f..22afd88e 100644 --- a/src/cdn/util/S3Storage.ts +++ b/src/cdn/util/S3Storage.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Readable } from "stream"; +import { Readable } from "node:stream"; import { Storage } from "./Storage"; const readableToBuffer = (readable: Readable): Promise<Buffer> => diff --git a/src/cdn/util/Storage.ts b/src/cdn/util/Storage.ts
index 03d71d1d..581ebf4d 100644 --- a/src/cdn/util/Storage.ts +++ b/src/cdn/util/Storage.ts
@@ -17,8 +17,8 @@ */ import { FileStorage } from "./FileStorage"; -import path from "path"; -import fs from "fs"; +import path from "node:path"; +import fs from "node:fs"; import { red } from "picocolors"; process.cwd(); diff --git a/src/gateway/Server.ts b/src/gateway/Server.ts
index 72faa983..d86d7570 100644 --- a/src/gateway/Server.ts +++ b/src/gateway/Server.ts
@@ -21,10 +21,10 @@ dotenv.config({ quiet: true }); import { checkToken, closeDatabase, Config, initDatabase, initEvent, Rights } from "@spacebar/util"; import ws from "ws"; import { Connection, openConnections } from "./events/Connection"; -import http from "http"; +import http from "node:http"; import { cleanupOnStartup } from "./util"; import { randomString } from "@spacebar/api"; -import { setInterval } from "timers"; +import { setInterval } from "node:timers"; export class Server { public ws: ws.Server; diff --git a/src/gateway/events/Connection.ts b/src/gateway/events/Connection.ts
index d3405050..ae3d1220 100644 --- a/src/gateway/events/Connection.ts +++ b/src/gateway/events/Connection.ts
@@ -22,11 +22,11 @@ import { genSessionId, WebSocket } from "@spacebar/gateway"; import { Send } from "../util/Send"; import { CLOSECODES, OPCODES } from "../util/Constants"; import { setHeartbeat } from "../util/Heartbeat"; -import { IncomingMessage } from "http"; +import { IncomingMessage } from "node:http"; import { Close } from "./Close"; import { Message } from "./Message"; import { Deflate, Inflate } from "fast-zlib"; -import { URL } from "url"; +import { URL } from "node:url"; import { Config, ErlpackType } from "@spacebar/util"; import { Decoder, Encoder } from "@toondepauw/node-zstd"; diff --git a/src/gateway/events/Message.ts b/src/gateway/events/Message.ts
index b4263b40..8bd1adda 100644 --- a/src/gateway/events/Message.ts +++ b/src/gateway/events/Message.ts
@@ -18,9 +18,9 @@ import { CLOSECODES, Payload, WebSocket } from "@spacebar/gateway"; import { ErlpackType } from "@spacebar/util"; -import fs from "fs/promises"; +import fs from "node:fs/promises"; import BigIntJson from "json-bigint"; -import path from "path"; +import path from "node:path"; import WS from "ws"; import OPCodeHandlers from "../opcodes"; import { check } from "../opcodes/instanceOf"; diff --git a/src/gateway/start.ts b/src/gateway/start.ts
index 79c4ca19..3ee87115 100644 --- a/src/gateway/start.ts +++ b/src/gateway/start.ts
@@ -23,8 +23,8 @@ process.on("unhandledRejection", console.error); import { Server } from "./Server"; import { config } from "dotenv"; -import fs from "fs"; -import cluster from "cluster"; +import fs from "node:fs"; +import cluster from "node:cluster"; config({ quiet: true }); let port = Number(process.env.PORT); diff --git a/src/gateway/util/Send.ts b/src/gateway/util/Send.ts
index 95902ca4..00fd4b45 100644 --- a/src/gateway/util/Send.ts +++ b/src/gateway/util/Send.ts
@@ -17,8 +17,8 @@ */ import { Payload, WebSocket } from "@spacebar/gateway"; -import fs from "fs/promises"; -import path from "path"; +import fs from "node:fs/promises"; +import path from "node:path"; import { ErlpackType, JSONReplacer } from "@spacebar/util"; let erlpack: ErlpackType | null = null; diff --git a/src/schemas/Validator.ts b/src/schemas/Validator.ts
index e7a227a9..c719effc 100644 --- a/src/schemas/Validator.ts +++ b/src/schemas/Validator.ts
@@ -18,8 +18,8 @@ import Ajv from "ajv"; import addFormats from "ajv-formats"; -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; const SchemaPath = path.join(__dirname, "..", "..", "assets", "schemas.json"); const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" }).replaceAll("#/definitions/", "")); diff --git a/src/util/Signing.ts b/src/util/Signing.ts
index 24f3c206..141ca0ff 100644 --- a/src/util/Signing.ts +++ b/src/util/Signing.ts
@@ -17,9 +17,8 @@ */ import { Config } from "@spacebar/util"; -import { createHmac, timingSafeEqual } from "crypto"; +import { createHmac, timingSafeEqual } from "node:crypto"; import ms, { StringValue } from "ms"; -import * as console from "node:console"; export class NewUrlUserSignatureData { ip?: string; diff --git a/src/util/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts
index 10900c58..67e7a758 100644 --- a/src/util/config/types/SecurityConfiguration.ts +++ b/src/util/config/types/SecurityConfiguration.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import crypto from "crypto"; +import crypto from "node:crypto"; import { CaptchaConfiguration, TwoFactorConfiguration } from "."; export class SecurityConfiguration { diff --git a/src/util/connections/Connection.ts b/src/util/connections/Connection.ts
index d5934164..56b2b899 100644 --- a/src/util/connections/Connection.ts +++ b/src/util/connections/Connection.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import crypto from "crypto"; +import crypto from "node:crypto"; import { ConnectedAccount } from "../entities"; import { ConnectedAccountSchema, ConnectionCallbackSchema } from "@spacebar/schemas"; import { Config, DiscordApiErrors } from "../util"; diff --git a/src/util/connections/ConnectionLoader.ts b/src/util/connections/ConnectionLoader.ts
index 021ef3a6..f6031ac6 100644 --- a/src/util/connections/ConnectionLoader.ts +++ b/src/util/connections/ConnectionLoader.ts
@@ -17,8 +17,8 @@ */ import { Connection } from "@spacebar/util"; -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; import { ConnectionConfig } from "./ConnectionConfig"; import { ConnectionStore } from "./ConnectionStore"; import { greenBright, redBright } from "picocolors"; diff --git a/src/util/entities/BackupCodes.ts b/src/util/entities/BackupCodes.ts
index 2a55613e..6759a9a3 100644 --- a/src/util/entities/BackupCodes.ts +++ b/src/util/entities/BackupCodes.ts
@@ -19,7 +19,7 @@ import { Column, Entity, JoinColumn, ManyToOne } from "typeorm"; import { BaseClass } from "./BaseClass"; import { User } from "./User"; -import crypto from "crypto"; +import crypto from "node:crypto"; import { Config } from "../util"; @Entity({ diff --git a/src/util/entities/Guild.ts b/src/util/entities/Guild.ts
index 213c2c96..aa6816c2 100644 --- a/src/util/entities/Guild.ts +++ b/src/util/entities/Guild.ts
@@ -404,19 +404,20 @@ export class Guild extends BaseClass { // create custom roles if provided if (body.roles && body.roles.length) { await Promise.all( - body.roles?.map((role) => { - new Promise((resolve) => { - Role.create({ - ...role, - guild_id, - id: - // role.id === body.template_guild_id indicates that this is the @everyone role - role.id === body.source_guild_id || role.id == "0" ? guild_id : Snowflake.generate(), - }) - .save() - .then(resolve); - }); - }), + body.roles?.map( + (role) => + new Promise((resolve) => { + Role.create({ + ...role, + guild_id, + id: + // role.id === body.template_guild_id indicates that this is the @everyone role + role.id === body.source_guild_id || role.id == "0" ? guild_id : Snowflake.generate(), + }) + .save() + .then(resolve); + }), + ), ); } diff --git a/src/util/entities/Session.ts b/src/util/entities/Session.ts
index eb28c389..058961f6 100644 --- a/src/util/entities/Session.ts +++ b/src/util/entities/Session.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import crypto from "crypto"; +import crypto from "node:crypto"; import { User } from "./User"; import { BaseClassWithoutId } from "./BaseClass"; import { Column, CreateDateColumn, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn, RelationId } from "typeorm"; diff --git a/src/util/util/Config.ts b/src/util/util/Config.ts
index 42bb0744..bc34879c 100644 --- a/src/util/util/Config.ts +++ b/src/util/util/Config.ts
@@ -16,8 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { existsSync } from "fs"; -import fs from "fs/promises"; +import { existsSync } from "node:fs"; +import fs from "node:fs/promises"; import { OrmUtils } from ".."; import { ConfigValue } from "../config"; import { ConfigEntity } from "../entities"; diff --git a/src/util/util/Database.ts b/src/util/util/Database.ts
index 5e0a1065..9622bfb1 100644 --- a/src/util/util/Database.ts +++ b/src/util/util/Database.ts
@@ -17,12 +17,12 @@ */ import { config } from "dotenv"; -import path from "path"; +import path from "node:path"; import { green, red, yellow } from "picocolors"; import { DataSource } from "typeorm"; // noinspection ES6PreferShortImport import { ConfigEntity } from "../entities/Config"; -import fs from "fs"; +import fs from "node:fs"; // UUID extension option is only supported with postgres // We want to generate all id's with Snowflakes that's why we have our own BaseEntity class diff --git a/src/util/util/Event.ts b/src/util/util/Event.ts
index 78f487b8..9dda083c 100644 --- a/src/util/util/Event.ts +++ b/src/util/util/Event.ts
@@ -18,16 +18,16 @@ import { Channel } from "amqplib"; import { RabbitMQ } from "./RabbitMQ"; -import EventEmitter from "events"; +import EventEmitter from "node:events"; import { EVENT, Event } from "../interfaces"; -import { randomUUID } from "crypto"; -import path from "path"; +import { randomUUID } from "node:crypto"; +import path from "node:path"; import { Socket } from "node:net"; import { FSWatcher } from "node:fs"; import { Stopwatch } from "./Stopwatch"; import { Config } from "./Config"; -import net from "net"; -import fs from "fs"; +import net from "node:net"; +import fs from "node:fs"; import { red } from "picocolors"; export const events = new EventEmitter(); diff --git a/src/util/util/RabbitMQ.ts b/src/util/util/RabbitMQ.ts
index 7969bb8b..44bcf2a6 100644 --- a/src/util/util/RabbitMQ.ts +++ b/src/util/util/RabbitMQ.ts
@@ -18,7 +18,7 @@ import amqp, { Channel, ChannelModel } from "amqplib"; import { Config } from "./Config"; -import EventEmitter from "events"; +import EventEmitter from "node:events"; export class RabbitMQ { public static connection: ChannelModel | null = null; diff --git a/src/util/util/Snowflake.ts b/src/util/util/Snowflake.ts
index 06b8c0d0..3d62480f 100644 --- a/src/util/util/Snowflake.ts +++ b/src/util/util/Snowflake.ts
@@ -1,6 +1,6 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-nocheck -import * as cluster from "cluster"; +import * as cluster from "node:cluster"; // https://github.com/discordjs/discord.js/blob/master/src/util/Snowflake.js // Apache License Version 2.0 Copyright 2015 - 2021 Amish Shah diff --git a/src/util/util/Token.ts b/src/util/util/Token.ts
index 601fb275..83459144 100644 --- a/src/util/util/Token.ts +++ b/src/util/util/Token.ts
@@ -20,14 +20,14 @@ import jwt from "jsonwebtoken"; import { Config } from "./Config"; import { InstanceBan, Session, User } from "../entities"; import crypto from "node:crypto"; -import fs from "fs/promises"; -import { existsSync } from "fs"; +import fs from "node:fs/promises"; +import { existsSync } from "node:fs"; // TODO: dont use deprecated APIs lol import { FindOptionsRelationByString, FindOptionsSelectByString } from "typeorm"; import { randomUpperString } from "@spacebar/api"; import { TimeSpan } from "./Timespan"; import { HTTPError } from "lambert-server"; -import path from "path"; +import path from "node:path"; /// Change history: /// 1 - Initial version with HS256 diff --git a/src/util/util/Version.ts b/src/util/util/Version.ts
index 2d7c4b56..6ebaebd5 100644 --- a/src/util/util/Version.ts +++ b/src/util/util/Version.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import path from "path"; -import fs from "fs"; -import { execSync } from "child_process"; +import path from "node:path"; +import fs from "node:fs"; +import { execSync } from "node:child_process"; import { red } from "picocolors"; export function getRevInfoOrFail(): { rev: string | null; lastModified: number } { diff --git a/src/util/util/email/index.ts b/src/util/util/email/index.ts
index 802ed271..cceb99f4 100644 --- a/src/util/util/email/index.ts +++ b/src/util/util/email/index.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import fs from "fs/promises"; +import fs from "node:fs/promises"; import path from "node:path"; import { User } from "../../entities"; import { Config } from "../Config"; diff --git a/src/util/util/json/JsonSerializer.test.ts b/src/util/util/json/JsonSerializer.test.ts
index 31624db7..5adf6c1e 100644 --- a/src/util/util/json/JsonSerializer.test.ts +++ b/src/util/util/json/JsonSerializer.test.ts
@@ -1,7 +1,7 @@ import { JsonSerializer } from "./JsonSerializer"; import { describe, it } from "node:test"; -import { strict as assert } from "assert"; -import fs from "fs/promises"; +import { strict as assert } from "node:assert"; +import fs from "node:fs/promises"; import { Stopwatch } from "../Stopwatch"; import { JsonValue } from "@protobuf-ts/runtime"; diff --git a/src/util/util/json/JsonSerializer.ts b/src/util/util/json/JsonSerializer.ts
index a35bb947..d8259afc 100644 --- a/src/util/util/json/JsonSerializer.ts +++ b/src/util/util/json/JsonSerializer.ts
@@ -1,7 +1,7 @@ import { JsonSerializerOptions } from "./JsonSerializerOptions"; -import { Worker } from "worker_threads"; -import { join } from "path"; -import os from "os"; +import { Worker } from "node:worker_threads"; +import { join } from "node:path"; +import os from "node:os"; import { ReadStream, WriteStream } from "node:fs"; // const worker = new Worker(join(process.cwd(), 'dist', 'util', 'util', 'json', 'jsonWorker.js')); diff --git a/src/util/util/json/jsonWorker.ts b/src/util/util/json/jsonWorker.ts
index f12c9f67..d24bff5e 100644 --- a/src/util/util/json/jsonWorker.ts +++ b/src/util/util/json/jsonWorker.ts
@@ -1,4 +1,4 @@ -import { parentPort } from "worker_threads"; +import { parentPort } from "node:worker_threads"; parentPort?.on("message", (message) => { try { diff --git a/src/util/util/lambert-server/Server.ts b/src/util/util/lambert-server/Server.ts
index bb60acb4..c291fbfe 100644 --- a/src/util/util/lambert-server/Server.ts +++ b/src/util/util/lambert-server/Server.ts
@@ -1,6 +1,6 @@ import express, { Application, Router } from "express"; -import { Server as HTTPServer } from "http"; -import http from "http"; +import { Server as HTTPServer } from "node:http"; +import http from "node:http"; export type ServerOptions = { port: number; diff --git a/src/util/util/lambert-server/Utils.ts b/src/util/util/lambert-server/Utils.ts
index 07f8eadc..df424b00 100644 --- a/src/util/util/lambert-server/Utils.ts +++ b/src/util/util/lambert-server/Utils.ts
@@ -1,4 +1,4 @@ -import fs from "fs"; +import fs from "node:fs"; export interface traverseDirectoryOptions { dirname: string; diff --git a/src/webrtc/Server.ts b/src/webrtc/Server.ts
index f3e9043b..0f8ead2c 100644 --- a/src/webrtc/Server.ts +++ b/src/webrtc/Server.ts
@@ -18,12 +18,11 @@ import dotenv from "dotenv"; dotenv.config({ quiet: true }); import { closeDatabase, Config, initDatabase, initEvent, Session, TimeSpan } from "@spacebar/util"; -import http from "http"; +import http from "node:http"; import ws from "ws"; import { Connection } from "./events/Connection"; import { loadWebRtcLibrary, mediaServer, WRTC_PORT_MAX, WRTC_PORT_MIN, WRTC_PUBLIC_IP } from "./util"; import { green, yellow } from "picocolors"; -import { storage } from "@spacebar/cdn*"; export class Server { public ws: ws.Server; diff --git a/src/webrtc/events/Connection.ts b/src/webrtc/events/Connection.ts
index b31b8993..114471af 100644 --- a/src/webrtc/events/Connection.ts +++ b/src/webrtc/events/Connection.ts
@@ -17,8 +17,8 @@ */ import { CLOSECODES, setHeartbeat } from "@spacebar/gateway"; -import { IncomingMessage } from "http"; -import { URL } from "url"; +import { IncomingMessage } from "node:http"; +import { URL } from "node:url"; import WS from "ws"; import { VoiceOPCodes, WebRtcWebSocket, Send } from "../util"; import { onClose } from "./Close"; diff --git a/src/webrtc/start.ts b/src/webrtc/start.ts
index 54190436..f35bba2b 100644 --- a/src/webrtc/start.ts +++ b/src/webrtc/start.ts
@@ -22,8 +22,8 @@ process.on("unhandledRejection", console.error); import { config } from "dotenv"; import { Server } from "./Server"; -import fs from "fs"; -import cluster from "cluster"; +import fs from "node:fs"; +import cluster from "node:cluster"; config({ quiet: true }); const port = Number(process.env.PORT) || 3004;