From 3128c3a24909fa8529979fc458d587f395ec3ce0 Mon Sep 17 00:00:00 2001 From: Caramel Date: Sun, 4 Aug 2024 16:01:08 +0200 Subject: [PATCH] make shared work with nodenext --- shared/src/dto/api/apikeys.dto.ts | 8 ++++---- shared/src/dto/api/image-manage.dto.ts | 10 +++++----- shared/src/dto/api/image.dto.ts | 10 +++++----- shared/src/dto/api/info.dto.ts | 10 +++++----- shared/src/dto/api/pref.dto.ts | 8 ++++---- shared/src/dto/api/roles.dto.ts | 12 ++++++------ shared/src/dto/api/user-manage.dto.ts | 10 +++++----- shared/src/dto/api/user.dto.ts | 8 ++++---- shared/src/dto/id-object.dto.ts | 2 +- shared/src/dto/jwt.dto.ts | 2 +- shared/src/dto/mimes.dto.ts | 2 +- shared/src/dto/preferences.dto.ts | 6 +++--- shared/src/dto/sys-preferences.enum.ts | 10 +++++----- shared/src/dto/usr-preferences.enum.ts | 2 +- shared/src/entities/apikey.entity.ts | 4 ++-- shared/src/entities/image.entity.ts | 2 +- shared/src/entities/role.entity.ts | 6 +++--- shared/src/entities/user.entity.ts | 6 +++--- shared/src/util/parse-mime.ts | 4 ++-- shared/src/validators/role.validators.ts | 2 +- shared/src/validators/user.validators.ts | 2 +- shared/tsconfig.json | 2 +- tsconfig.base.json | 2 +- 23 files changed, 65 insertions(+), 65 deletions(-) diff --git a/shared/src/dto/api/apikeys.dto.ts b/shared/src/dto/api/apikeys.dto.ts index 74d1094..e7eae6b 100644 --- a/shared/src/dto/api/apikeys.dto.ts +++ b/shared/src/dto/api/apikeys.dto.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { EApiKeySchema } from '../../entities/apikey.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsEntityID } from '../../validators/entity-id.validator'; -import { IsPosInt } from '../../validators/positive-int.validator'; +import { EApiKeySchema } from '../../entities/apikey.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsEntityID } from '../../validators/entity-id.validator.js'; +import { IsPosInt } from '../../validators/positive-int.validator.js'; // ApiKeyInfo export const ApiKeyInfoRequestSchema = z.object({ diff --git a/shared/src/dto/api/image-manage.dto.ts b/shared/src/dto/api/image-manage.dto.ts index de6757c..2b2ea6a 100644 --- a/shared/src/dto/api/image-manage.dto.ts +++ b/shared/src/dto/api/image-manage.dto.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { EImageSchema } from '../../entities/image.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsApiKey } from '../../validators/api-key.validator'; -import { IsEntityID } from '../../validators/entity-id.validator'; -import { IsPosInt } from '../../validators/positive-int.validator'; +import { EImageSchema } from '../../entities/image.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsApiKey } from '../../validators/api-key.validator.js'; +import { IsEntityID } from '../../validators/entity-id.validator.js'; +import { IsPosInt } from '../../validators/positive-int.validator.js'; // Image upload export const ImageUploadResponseSchema = EImageSchema.extend({ diff --git a/shared/src/dto/api/image.dto.ts b/shared/src/dto/api/image.dto.ts index f493786..e9587c0 100644 --- a/shared/src/dto/api/image.dto.ts +++ b/shared/src/dto/api/image.dto.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { EImageSchema } from '../../entities/image.entity'; -import { EUserSchema } from '../../entities/user.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { ParseBoolZ, ParseIntZ } from '../../util/parse-simple'; -import { ImageEntryVariant } from '../image-entry-variant.enum'; +import { EImageSchema } from '../../entities/image.entity.js'; +import { EUserSchema } from '../../entities/user.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { ParseBoolZ, ParseIntZ } from '../../util/parse-simple.js'; +import { ImageEntryVariant } from '../image-entry-variant.enum.js'; export const ImageRequestParamsSchema = z .object({ diff --git a/shared/src/dto/api/info.dto.ts b/shared/src/dto/api/info.dto.ts index 4653f7b..4f35e58 100644 --- a/shared/src/dto/api/info.dto.ts +++ b/shared/src/dto/api/info.dto.ts @@ -1,9 +1,9 @@ import { string, z } from 'zod'; -import { SemVerRegex } from '../../util/common-regex'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsEntityID } from '../../validators/entity-id.validator'; -import { IsStringList } from '../../validators/string-list.validator'; -import { TrackingStateSchema } from '../tracking-state.enum'; +import { SemVerRegex } from '../../util/common-regex.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsEntityID } from '../../validators/entity-id.validator.js'; +import { IsStringList } from '../../validators/string-list.validator.js'; +import { TrackingStateSchema } from '../tracking-state.enum.js'; export const InfoResponseSchema = z.object({ production: z.boolean(), diff --git a/shared/src/dto/api/pref.dto.ts b/shared/src/dto/api/pref.dto.ts index 6ab8d98..a0f9e3a 100644 --- a/shared/src/dto/api/pref.dto.ts +++ b/shared/src/dto/api/pref.dto.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsPosInt } from '../../validators/positive-int.validator'; -import { IsPrefValue } from '../../validators/pref-value.validator'; -import { DecodedPrefSchema } from '../preferences.dto'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsPosInt } from '../../validators/positive-int.validator.js'; +import { IsPrefValue } from '../../validators/pref-value.validator.js'; +import { DecodedPrefSchema } from '../preferences.dto.js'; // Get preference // Request is done via url parameters diff --git a/shared/src/dto/api/roles.dto.ts b/shared/src/dto/api/roles.dto.ts index 4b195d7..977fdb6 100644 --- a/shared/src/dto/api/roles.dto.ts +++ b/shared/src/dto/api/roles.dto.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { ERoleSchema, SimpleRoleSchema } from '../../entities/role.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsPosInt } from '../../validators/positive-int.validator'; -import { IsRoleName } from '../../validators/role.validators'; -import { IsStringList } from '../../validators/string-list.validator'; -import { Permission } from '../permissions.enum'; +import { ERoleSchema, SimpleRoleSchema } from '../../entities/role.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsPosInt } from '../../validators/positive-int.validator.js'; +import { IsRoleName } from '../../validators/role.validators.js'; +import { IsStringList } from '../../validators/string-list.validator.js'; +import { Permission } from '../permissions.enum.js'; // RoleInfo export const RoleInfoRequestSchema = z.object({ diff --git a/shared/src/dto/api/user-manage.dto.ts b/shared/src/dto/api/user-manage.dto.ts index df2954b..df34c89 100644 --- a/shared/src/dto/api/user-manage.dto.ts +++ b/shared/src/dto/api/user-manage.dto.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { EUserSchema, SimpleUserSchema } from '../../entities/user.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsPosInt } from '../../validators/positive-int.validator'; -import { IsStringList } from '../../validators/string-list.validator'; -import { EntityIDObjectSchema } from '../id-object.dto'; +import { EUserSchema, SimpleUserSchema } from '../../entities/user.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsPosInt } from '../../validators/positive-int.validator.js'; +import { IsStringList } from '../../validators/string-list.validator.js'; +import { EntityIDObjectSchema } from '../id-object.dto.js'; // UserList export const UserListRequestSchema = z.object({ diff --git a/shared/src/dto/api/user.dto.ts b/shared/src/dto/api/user.dto.ts index c56a0d6..263b571 100644 --- a/shared/src/dto/api/user.dto.ts +++ b/shared/src/dto/api/user.dto.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; -import { EUserSchema } from '../../entities/user.entity'; -import { createZodDto } from '../../util/create-zod-dto'; -import { IsStringList } from '../../validators/string-list.validator'; -import { IsPlainTextPwd, IsUsername } from '../../validators/user.validators'; +import { EUserSchema } from '../../entities/user.entity.js'; +import { createZodDto } from '../../util/create-zod-dto.js'; +import { IsStringList } from '../../validators/string-list.validator.js'; +import { IsPlainTextPwd, IsUsername } from '../../validators/user.validators.js'; // Api const UserPassSchema = z.object({ diff --git a/shared/src/dto/id-object.dto.ts b/shared/src/dto/id-object.dto.ts index 412e9c1..5c31aa8 100644 --- a/shared/src/dto/id-object.dto.ts +++ b/shared/src/dto/id-object.dto.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { IsEntityID } from '../validators/entity-id.validator'; +import { IsEntityID } from '../validators/entity-id.validator.js'; export const EntityIDObjectSchema = z.object({ id: IsEntityID(), diff --git a/shared/src/dto/jwt.dto.ts b/shared/src/dto/jwt.dto.ts index 18bcc15..9ef5a32 100644 --- a/shared/src/dto/jwt.dto.ts +++ b/shared/src/dto/jwt.dto.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { IsEntityID } from '../validators/entity-id.validator'; +import { IsEntityID } from '../validators/entity-id.validator.js'; export const JwtDataSchema = z.object({ uid: IsEntityID(), diff --git a/shared/src/dto/mimes.dto.ts b/shared/src/dto/mimes.dto.ts index 2ab8727..01ae269 100644 --- a/shared/src/dto/mimes.dto.ts +++ b/shared/src/dto/mimes.dto.ts @@ -1,4 +1,4 @@ -import { Fail, Failable, FT } from '../types/failable'; +import { Fail, Failable, FT } from '../types/failable.js'; // Config export enum ImageFileType { diff --git a/shared/src/dto/preferences.dto.ts b/shared/src/dto/preferences.dto.ts index d9e7ae5..4a997d3 100644 --- a/shared/src/dto/preferences.dto.ts +++ b/shared/src/dto/preferences.dto.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; -import tuple from '../types/tuple'; -import { IsEntityID } from '../validators/entity-id.validator'; -import { IsPrefValue } from '../validators/pref-value.validator'; +import tuple from '../types/tuple.js'; +import { IsEntityID } from '../validators/entity-id.validator.js'; +import { IsPrefValue } from '../validators/pref-value.validator.js'; // Variable value type export type PrefValueType = string | number | boolean; diff --git a/shared/src/dto/sys-preferences.enum.ts b/shared/src/dto/sys-preferences.enum.ts index 93953df..e760af6 100644 --- a/shared/src/dto/sys-preferences.enum.ts +++ b/shared/src/dto/sys-preferences.enum.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; -import { URLRegex } from '../util/common-regex'; -import { IsEntityID } from '../validators/entity-id.validator'; -import { IsValidMS } from '../validators/ms.validator'; -import { IsPosInt } from '../validators/positive-int.validator'; -import { PrefValueTypeStrings } from './preferences.dto'; +import { URLRegex } from '../util/common-regex.js'; +import { IsEntityID } from '../validators/entity-id.validator.js'; +import { IsValidMS } from '../validators/ms.validator.js'; +import { IsPosInt } from '../validators/positive-int.validator.js'; +import { PrefValueTypeStrings } from './preferences.dto.js'; // This enum is only here to make accessing the values easier, and type checking in the backend export enum SysPreference { diff --git a/shared/src/dto/usr-preferences.enum.ts b/shared/src/dto/usr-preferences.enum.ts index e30c5c2..c61dbbf 100644 --- a/shared/src/dto/usr-preferences.enum.ts +++ b/shared/src/dto/usr-preferences.enum.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { PrefValueTypeStrings } from './preferences.dto'; +import { PrefValueTypeStrings } from './preferences.dto.js'; // This enum is only here to make accessing the values easier, and type checking in the backend export enum UsrPreference { diff --git a/shared/src/entities/apikey.entity.ts b/shared/src/entities/apikey.entity.ts index 2de7829..0596cf6 100644 --- a/shared/src/entities/apikey.entity.ts +++ b/shared/src/entities/apikey.entity.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { IsApiKey } from '../validators/api-key.validator'; -import { IsEntityID } from '../validators/entity-id.validator'; +import { IsApiKey } from '../validators/api-key.validator.js'; +import { IsEntityID } from '../validators/entity-id.validator.js'; export const EApiKeySchema = z.object({ id: IsEntityID(), diff --git a/shared/src/entities/image.entity.ts b/shared/src/entities/image.entity.ts index c1b556e..4d7e0d2 100644 --- a/shared/src/entities/image.entity.ts +++ b/shared/src/entities/image.entity.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { IsEntityID } from '../validators/entity-id.validator'; +import { IsEntityID } from '../validators/entity-id.validator.js'; export const EImageSchema = z.object({ id: IsEntityID(), diff --git a/shared/src/entities/role.entity.ts b/shared/src/entities/role.entity.ts index c3f6323..f11c15f 100644 --- a/shared/src/entities/role.entity.ts +++ b/shared/src/entities/role.entity.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; -import { IsEntityID } from '../validators/entity-id.validator'; -import { IsRoleName } from '../validators/role.validators'; -import { IsStringList } from '../validators/string-list.validator'; +import { IsEntityID } from '../validators/entity-id.validator.js'; +import { IsRoleName } from '../validators/role.validators.js'; +import { IsStringList } from '../validators/string-list.validator.js'; export const SimpleRoleSchema = z.object({ name: IsRoleName(), diff --git a/shared/src/entities/user.entity.ts b/shared/src/entities/user.entity.ts index 69be745..dd6e5f1 100644 --- a/shared/src/entities/user.entity.ts +++ b/shared/src/entities/user.entity.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; -import { IsEntityID } from '../validators/entity-id.validator'; -import { IsStringList } from '../validators/string-list.validator'; -import { IsPlainTextPwd, IsUsername } from '../validators/user.validators'; +import { IsEntityID } from '../validators/entity-id.validator.js'; +import { IsStringList } from '../validators/string-list.validator.js'; +import { IsPlainTextPwd, IsUsername } from '../validators/user.validators.js'; export const SimpleUserSchema = z.object({ username: IsUsername(), diff --git a/shared/src/util/parse-mime.ts b/shared/src/util/parse-mime.ts index 4b0f1b1..b779277 100644 --- a/shared/src/util/parse-mime.ts +++ b/shared/src/util/parse-mime.ts @@ -5,8 +5,8 @@ import { SupportedAnimFileTypes, SupportedFileTypeCategory, SupportedImageFileTypes, -} from '../dto/mimes.dto'; -import { Fail, Failable, FT, HasFailed } from '../types/failable'; +} from '../dto/mimes.dto.js'; +import { Fail, Failable, FT, HasFailed } from '../types/failable.js'; export function ParseFileType(filetype: string): Failable { if (SupportedImageFileTypes.includes(filetype)) diff --git a/shared/src/validators/role.validators.ts b/shared/src/validators/role.validators.ts index 2bdc371..762f2f2 100644 --- a/shared/src/validators/role.validators.ts +++ b/shared/src/validators/role.validators.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { AlphaNumericRegex } from '../util/common-regex'; +import { AlphaNumericRegex } from '../util/common-regex.js'; export const IsRoleName = () => z.string().min(4).max(32).regex(AlphaNumericRegex); diff --git a/shared/src/validators/user.validators.ts b/shared/src/validators/user.validators.ts index f9a1307..1e33b85 100644 --- a/shared/src/validators/user.validators.ts +++ b/shared/src/validators/user.validators.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { AlphaNumericRegex } from '../util/common-regex'; +import { AlphaNumericRegex } from '../util/common-regex.js'; // Match this with user validators in frontend // (Frontend is not security focused, but it tells the user what is wrong) diff --git a/shared/tsconfig.json b/shared/tsconfig.json index e596930..21ef879 100644 --- a/shared/tsconfig.json +++ b/shared/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.base.json", "compilerOptions": { "target": "ES2022", - "module": "ES2022", + "module": "NodeNext", "lib": ["ES2022", "DOM"], "outDir": "./dist", diff --git a/tsconfig.base.json b/tsconfig.base.json index cbbd947..efbbeae 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "moduleResolution": "node", + "moduleResolution": "NodeNext", "esModuleInterop": true, "resolveJsonModule": true,