Skip to content

Commit 59c672d

Browse files
committed
Merge branch 'develop' into feat/use-svelte-core
2 parents e82d550 + 7429020 commit 59c672d

12 files changed

Lines changed: 63 additions & 303 deletions

File tree

package.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@
2222
"devDependencies": {
2323
"@eslint/compat": "^2.1.0",
2424
"@eslint/js": "latest",
25-
"@hey-api/openapi-ts": "^0.98.2",
25+
"@hey-api/openapi-ts": "^0.99.0",
2626
"@internationalized/date": "^3.12.2",
2727
"@lucide/svelte": "^1.21.0",
2828
"@microsoft/signalr": "^10.0.0",
29-
"@playwright/test": "^1.61.0",
29+
"@playwright/test": "^1.61.1",
3030
"@sveltejs/adapter-cloudflare": "^7.2.9",
31-
"@sveltejs/adapter-node": "^5.5.5",
32-
"@sveltejs/kit": "^2.66.0",
31+
"@sveltejs/adapter-node": "^5.5.7",
32+
"@sveltejs/kit": "^2.68.0",
3333
"@sveltejs/vite-plugin-svelte": "^7.1.2",
3434
"@tailwindcss/vite": "^4.3.1",
3535
"@tanstack/table-core": "^8.21.3",
36-
"@types/node": "^26.0.0",
36+
"@types/node": "^26.0.1",
3737
"@types/semver": "^7.7.1",
3838
"@types/w3c-web-serial": "^1.0.8",
3939
"bits-ui": "2.18.1",
@@ -44,27 +44,27 @@
4444
"eslint": "^10.5.0",
4545
"eslint-config-prettier": "^10.1.8",
4646
"eslint-plugin-compat": "^7.0.2",
47-
"eslint-plugin-svelte": "^3.19.0",
47+
"eslint-plugin-svelte": "^3.20.0",
4848
"esptool-js": "0.6.0",
4949
"formsnap": "^2.0.1",
50-
"globals": "^17.6.0",
50+
"globals": "^17.7.0",
5151
"husky": "^9.1.7",
5252
"prettier": "^3.8.4",
5353
"prettier-plugin-organize-imports": "^4.3.0",
5454
"prettier-plugin-svelte": "^4.1.1",
5555
"prettier-plugin-tailwindcss": "^0.8.0",
5656
"rollup-plugin-license": "^3.7.1",
5757
"semver": "^7.8.5",
58-
"svelte": "^5.56.3",
59-
"svelte-check": "^4.6.0",
58+
"svelte": "^5.56.4",
59+
"svelte-check": "^4.7.1",
6060
"svelte-sonner": "^1.1.1",
6161
"sveltekit-superforms": "^2.30.1",
6262
"tailwind-merge": "^3.6.0",
6363
"tailwind-variants": "^3.2.2",
6464
"tailwindcss": "^4.3.1",
6565
"tw-animate-css": "^1.4.0",
6666
"typescript": "^6.0.3",
67-
"typescript-eslint": "^8.61.1",
67+
"typescript-eslint": "^8.62.0",
6868
"ua-parser-js": "2.0.10",
6969
"vaul-svelte": "1.0.0-next.7",
7070
"vite-plugin-devtools-json": "^1.0.0",
@@ -82,9 +82,9 @@
8282
"@opentelemetry/resources": "^2.8.0",
8383
"@opentelemetry/sdk-logs": "^0.219.0",
8484
"@opentelemetry/sdk-trace-web": "^2.8.0",
85-
"driver.js": "^1.4.0",
85+
"driver.js": "^1.6.0",
8686
"temporal-polyfill": "^1.0.1",
87-
"vite": "^8.0.16"
87+
"vite": "^8.1.0"
8888
},
8989
"engines": {
9090
"node": "^26",

pnpm-workspace.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ minimumReleaseAge: 4320 # 3 days
1111
minimumReleaseAgeExclude:
1212
- '@openshock/*'
1313
- ws@8.20.1
14+
- esbuild@0.28.1
15+
- js-yaml@4.1.2
16+
- ts-deepmerge@8.0.0
1417

1518
onlyBuiltDependencies:
1619
- '@tailwindcss/oxide'
@@ -20,7 +23,10 @@ onlyBuiltDependencies:
2023
overrides:
2124
brace-expansion@<5.0.5: '>=5.0.5'
2225
cookie@<0.7.0: '>=0.7.0'
26+
esbuild@>=0.27.3 <0.28.1: ^0.28.1
2327
js-yaml@<4.1.1: '>=4.1.1'
28+
js-yaml@<=4.1.1: ^4.1.2
29+
ts-deepmerge@<8.0.0: ^8.0.0
2430
undici@>=7.0.0 <7.24.0: '>=7.24.0'
2531
uuid@<14.0.0: '>=14.0.0'
2632
ws@>=8.0.0 <8.20.1: ^8.20.1

src/lib/api/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export {
2424
accountLogout,
2525
accountPasswordResetCheckValid,
2626
accountPasswordResetComplete,
27-
accountPasswordResetInitiate,
2827
adminAddEmailProviderBlacklist,
2928
adminAddUsernameBlacklist,
3029
adminAddWebhook,
@@ -125,6 +124,7 @@ export type {
125124
export {
126125
accountCheckUsername,
127126
accountLoginV2,
127+
accountPasswordResetInitiateV2,
128128
accountSignUpV2,
129129
devicesCreateDeviceV2,
130130
tokensCreateTokenV2,

src/lib/api/internal/v1/core/params.gen.ts

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -88,32 +88,39 @@ function buildKeyMap(fields: FieldsConfig, map?: KeyMap): KeyMap {
8888
}
8989

9090
interface Params {
91-
body: unknown;
91+
body?: unknown;
9292
headers: Record<string, unknown>;
9393
path: Record<string, unknown>;
9494
query: Record<string, unknown>;
9595
}
9696

97-
type ParamsSlotMap = Record<Slot, unknown>;
98-
99-
function stripEmptySlots(params: ParamsSlotMap): void {
97+
function stripEmptySlots(params: Params): void {
10098
for (const [slot, value] of Object.entries(params)) {
99+
if (slot === 'body') continue;
101100
if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) {
102101
delete params[slot as Slot];
103102
}
104103
}
105104
}
106105

107106
export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsConfig): Params {
108-
const params: ParamsSlotMap = {
109-
body: Object.create(null),
107+
const params: Params = {
110108
headers: Object.create(null),
111109
path: Object.create(null),
112110
query: Object.create(null),
113111
};
114112

115113
const map = buildKeyMap(fields);
116114

115+
function writeSlot(slot: Slot, key: string, value: unknown): void {
116+
let record = params[slot] as Record<string, unknown> | undefined;
117+
if (record === undefined) {
118+
record = Object.create(null) as Record<string, unknown>;
119+
params[slot] = record;
120+
}
121+
record[key] = value;
122+
}
123+
117124
let config: FieldsConfig[number] | undefined;
118125

119126
for (const [index, arg] of args.entries()) {
@@ -130,7 +137,7 @@ export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsCo
130137
const field = map.get(config.key)!;
131138
const name = field.map || config.key;
132139
if (field.in) {
133-
(params[field.in] as Record<string, unknown>)[name] = arg;
140+
writeSlot(field.in, name, arg);
134141
}
135142
} else {
136143
params.body = arg;
@@ -142,7 +149,7 @@ export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsCo
142149
if (field) {
143150
if (field.in) {
144151
const name = field.map || key;
145-
(params[field.in] as Record<string, unknown>)[name] = value;
152+
writeSlot(field.in, name, value);
146153
} else {
147154
params[field.map] = value;
148155
}
@@ -151,11 +158,11 @@ export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsCo
151158

152159
if (extra) {
153160
const [prefix, slot] = extra;
154-
(params[slot] as Record<string, unknown>)[key.slice(prefix.length)] = value;
161+
writeSlot(slot, key.slice(prefix.length), value);
155162
} else if ('allowExtra' in config && config.allowExtra) {
156163
for (const [slot, allowed] of Object.entries(config.allowExtra)) {
157164
if (allowed) {
158-
(params[slot as Slot] as Record<string, unknown>)[key] = value;
165+
writeSlot(slot as Slot, key, value);
159166
break;
160167
}
161168
}
@@ -167,5 +174,5 @@ export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsCo
167174

168175
stripEmptySlots(params);
169176

170-
return params as Params;
177+
return params;
171178
}

src/lib/api/internal/v1/index.ts

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

src/lib/api/internal/v1/sdk.gen.ts

Lines changed: 1 addition & 66 deletions
Large diffs are not rendered by default.

src/lib/api/internal/v1/types.gen.ts

Lines changed: 0 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,6 @@ export type LogEntryWithHubPagedResult = {
346346
readonly totalPages?: number;
347347
};
348348

349-
export type Login = {
350-
password: string;
351-
email: string;
352-
};
353-
354349
export type LoginSessionResponse = {
355350
id: string;
356351
ip: string;
@@ -560,10 +555,6 @@ export type ReportTokensRequest = {
560555
secrets: Array<string>;
561556
};
562557

563-
export type ResetRequest = {
564-
email: string;
565-
};
566-
567558
export const RoleType = {
568559
Support: 'Support',
569560
Staff: 'Staff',
@@ -665,12 +656,6 @@ export type ShockerWithDeviceLegacyDataResponse = {
665656
data: ShockerWithDevice;
666657
};
667658

668-
export type SignUp = {
669-
username: string;
670-
password: string;
671-
email: string;
672-
};
673-
674659
export const SortDirection = { Asc: 'Asc', Desc: 'Desc' } as const;
675660

676661
export type SortDirection = typeof SortDirection[keyof typeof SortDirection];
@@ -968,35 +953,6 @@ export type AccountCheckUsernameResponses = {
968953

969954
export type AccountCheckUsernameResponse = AccountCheckUsernameResponses[keyof AccountCheckUsernameResponses];
970955

971-
export type AccountLoginData = {
972-
body?: Login;
973-
path?: never;
974-
query?: never;
975-
url: '/1/account/login';
976-
};
977-
978-
export type AccountLoginErrors = {
979-
/**
980-
* Invalid username or password
981-
*/
982-
401: OpenShockProblem;
983-
/**
984-
* Forbidden
985-
*/
986-
403: OpenShockProblem;
987-
};
988-
989-
export type AccountLoginError = AccountLoginErrors[keyof AccountLoginErrors];
990-
991-
export type AccountLoginResponses = {
992-
/**
993-
* User successfully logged in
994-
*/
995-
200: LegacyEmptyResponse;
996-
};
997-
998-
export type AccountLoginResponse = AccountLoginResponses[keyof AccountLoginResponses];
999-
1000956
export type AccountLogoutData = {
1001957
body?: never;
1002958
path?: never;
@@ -1045,74 +1001,6 @@ export type AccountPasswordResetCheckValidResponses = {
10451001

10461002
export type AccountPasswordResetCheckValidResponse = AccountPasswordResetCheckValidResponses[keyof AccountPasswordResetCheckValidResponses];
10471003

1048-
export type AccountPasswordResetCheckValidLegacyData = {
1049-
body?: never;
1050-
path: {
1051-
/**
1052-
* The id of the password reset
1053-
*/
1054-
passwordResetId: string;
1055-
/**
1056-
* The secret of the password reset
1057-
*/
1058-
secret: string;
1059-
};
1060-
query?: never;
1061-
url: '/1/account/recover/{passwordResetId}/{secret}';
1062-
};
1063-
1064-
export type AccountPasswordResetCheckValidLegacyErrors = {
1065-
/**
1066-
* Password reset process not found
1067-
*/
1068-
404: OpenShockProblem;
1069-
};
1070-
1071-
export type AccountPasswordResetCheckValidLegacyError = AccountPasswordResetCheckValidLegacyErrors[keyof AccountPasswordResetCheckValidLegacyErrors];
1072-
1073-
export type AccountPasswordResetCheckValidLegacyResponses = {
1074-
/**
1075-
* Valid password reset process
1076-
*/
1077-
200: LegacyEmptyResponse;
1078-
};
1079-
1080-
export type AccountPasswordResetCheckValidLegacyResponse = AccountPasswordResetCheckValidLegacyResponses[keyof AccountPasswordResetCheckValidLegacyResponses];
1081-
1082-
export type AccountPasswordResetCompleteLegacyData = {
1083-
body?: PasswordResetProcessData;
1084-
path: {
1085-
/**
1086-
* The id of the password reset
1087-
*/
1088-
passwordResetId: string;
1089-
/**
1090-
* The secret of the password reset
1091-
*/
1092-
secret: string;
1093-
};
1094-
query?: never;
1095-
url: '/1/account/recover/{passwordResetId}/{secret}';
1096-
};
1097-
1098-
export type AccountPasswordResetCompleteLegacyErrors = {
1099-
/**
1100-
* Password reset process not found
1101-
*/
1102-
404: OpenShockProblem;
1103-
};
1104-
1105-
export type AccountPasswordResetCompleteLegacyError = AccountPasswordResetCompleteLegacyErrors[keyof AccountPasswordResetCompleteLegacyErrors];
1106-
1107-
export type AccountPasswordResetCompleteLegacyResponses = {
1108-
/**
1109-
* Password successfully changed
1110-
*/
1111-
200: LegacyEmptyResponse;
1112-
};
1113-
1114-
export type AccountPasswordResetCompleteLegacyResponse = AccountPasswordResetCompleteLegacyResponses[keyof AccountPasswordResetCompleteLegacyResponses];
1115-
11161004
export type AccountPasswordResetCompleteData = {
11171005
body?: PasswordResetProcessData;
11181006
path: {
@@ -1147,51 +1035,6 @@ export type AccountPasswordResetCompleteResponses = {
11471035

11481036
export type AccountPasswordResetCompleteResponse = AccountPasswordResetCompleteResponses[keyof AccountPasswordResetCompleteResponses];
11491037

1150-
export type AccountPasswordResetInitiateData = {
1151-
body?: ResetRequest;
1152-
path?: never;
1153-
query?: never;
1154-
url: '/1/account/reset';
1155-
};
1156-
1157-
export type AccountPasswordResetInitiateResponses = {
1158-
/**
1159-
* Password reset email sent if the email is associated to an registered account
1160-
*/
1161-
200: LegacyEmptyResponse;
1162-
};
1163-
1164-
export type AccountPasswordResetInitiateResponse = AccountPasswordResetInitiateResponses[keyof AccountPasswordResetInitiateResponses];
1165-
1166-
export type AccountSignUpData = {
1167-
body?: SignUp;
1168-
path?: never;
1169-
query?: never;
1170-
url: '/1/account/signup';
1171-
};
1172-
1173-
export type AccountSignUpErrors = {
1174-
/**
1175-
* Account registration is disabled on this instance
1176-
*/
1177-
403: OpenShockProblem;
1178-
/**
1179-
* Username or email already exists
1180-
*/
1181-
409: OpenShockProblem;
1182-
};
1183-
1184-
export type AccountSignUpError = AccountSignUpErrors[keyof AccountSignUpErrors];
1185-
1186-
export type AccountSignUpResponses = {
1187-
/**
1188-
* User successfully signed up
1189-
*/
1190-
200: LegacyEmptyResponse;
1191-
};
1192-
1193-
export type AccountSignUpResponse = AccountSignUpResponses[keyof AccountSignUpResponses];
1194-
11951038
export type AccountEmailVerifyData = {
11961039
body?: never;
11971040
path?: never;

0 commit comments

Comments
 (0)