From b1262fe392b8dc50137e04d7c66f6fe93e0e40e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 10:46:55 -0700 Subject: [PATCH 1/4] Remove contributors with deleted accounts (#73886) Co-authored-by: TypeScript Bot --- types/md5/package.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/types/md5/package.json b/types/md5/package.json index 9d0e8a5e429b56..2b1f5428ed715c 100644 --- a/types/md5/package.json +++ b/types/md5/package.json @@ -13,10 +13,6 @@ "name": "Bill Sourour", "githubUsername": "arcdev1" }, - { - "name": "Cameron Crothers", - "githubUsername": "jprogrammer" - }, { "name": "Piotr Błażejewicz", "githubUsername": "peterblazejewicz" From 64b07531d1b646c13d2745a2f403ab4c7d6460b7 Mon Sep 17 00:00:00 2001 From: Aurelle Date: Wed, 15 Oct 2025 21:17:50 +0200 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#73815=20[react?= =?UTF-8?q?-reconciler]:=20update=20Reconciler.createContainer=20signature?= =?UTF-8?q?=20by=20@aurelien-brabant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/react-reconciler/index.d.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/types/react-reconciler/index.d.ts b/types/react-reconciler/index.d.ts index 036024deb22716..9123efaec383c1 100644 --- a/types/react-reconciler/index.d.ts +++ b/types/react-reconciler/index.d.ts @@ -926,6 +926,10 @@ declare namespace ReactReconciler { type IntersectionObserverOptions = any; + interface BaseErrorInfo { + componentStack?: string; + } + interface Reconciler { createContainer( containerInfo: Container, @@ -934,7 +938,10 @@ declare namespace ReactReconciler { isStrictMode: boolean, concurrentUpdatesByDefaultOverride: null | boolean, identifierPrefix: string, - onRecoverableError: (error: Error) => void, + onUncaughtError: (error: Error, info: BaseErrorInfo & { errorBoundary?: Component }) => void, + onCaughtError: (error: Error, info: BaseErrorInfo) => void, + onRecoverableError: (error: Error, info: BaseErrorInfo) => void, + onDefaultTransitionIndicator: () => void, transitionCallbacks: null | TransitionTracingCallbacks, ): OpaqueRoot; From e8d258854cfab416da9b1f4c1e14d98d848ebfdf Mon Sep 17 00:00:00 2001 From: Nicolas Le Cam Date: Wed, 15 Oct 2025 22:41:08 +0200 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#73804=20[aws-l?= =?UTF-8?q?ambda]=20Update=20AttributeValue=20definition=20to=20be=20compa?= =?UTF-8?q?tible=20with=20the=20one=20in=20@aws-sdk/client-dynamodb=20by?= =?UTF-8?q?=20@KuSh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/aws-lambda/test/dynamodb-tests.ts | 13 +++++++- types/aws-lambda/trigger/dynamodb-stream.d.ts | 32 ++++++++++++------- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/types/aws-lambda/test/dynamodb-tests.ts b/types/aws-lambda/test/dynamodb-tests.ts index 6d1dfa9d556a65..6cad81e146d71b 100644 --- a/types/aws-lambda/test/dynamodb-tests.ts +++ b/types/aws-lambda/test/dynamodb-tests.ts @@ -1,4 +1,4 @@ -import { DynamoDBBatchResponse, DynamoDBStreamEvent, DynamoDBStreamHandler } from "aws-lambda"; +import { DynamoDBBatchResponse, DynamoDBStreamEvent, DynamoDBStreamHandler, StreamRecord } from "aws-lambda"; // TODO: Update test to read all event properties, and write all result // properties, like the user will. @@ -97,6 +97,17 @@ const event: DynamoDBStreamEvent = { ], }; +const keys: StreamRecord = { + Keys: { + // expect error when using multiple attributes in AttributeValue type + // @ts-expect-error + Id: { + N: "101", + S: "Extra", + }, + }, +}; + const streamHandlerWithResponse: DynamoDBStreamHandler = async (event, context, callback) => { // Check result type let result: DynamoDBBatchResponse; diff --git a/types/aws-lambda/trigger/dynamodb-stream.d.ts b/types/aws-lambda/trigger/dynamodb-stream.d.ts index ac190a39812374..30e39da2d24083 100644 --- a/types/aws-lambda/trigger/dynamodb-stream.d.ts +++ b/types/aws-lambda/trigger/dynamodb-stream.d.ts @@ -3,19 +3,27 @@ import { Handler } from "../handler"; // eslint-disable-next-line @typescript-eslint/no-invalid-void-type export type DynamoDBStreamHandler = Handler; +// eslint-disable-next-line @definitelytyped/strict-export-declare-modifiers, @definitelytyped/no-single-element-tuple-type +type Merge = [{ [K in keyof T]: T[K] }][number]; + +// eslint-disable-next-line @definitelytyped/strict-export-declare-modifiers +type ExclusivePropertyUnion = P extends any + ? Merge<{ [K in Extract]: T[K] } & { [K in Exclude]?: never }> + : never; + // http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_AttributeValue.html -export interface AttributeValue { - B?: string | undefined; - BS?: string[] | undefined; - BOOL?: boolean | undefined; - L?: AttributeValue[] | undefined; - M?: { [id: string]: AttributeValue } | undefined; - N?: string | undefined; - NS?: string[] | undefined; - NULL?: boolean | undefined; - S?: string | undefined; - SS?: string[] | undefined; -} +export type AttributeValue = ExclusivePropertyUnion<{ + B: string; + BOOL: boolean; + BS: string[]; + L: AttributeValue[]; + M: Record; + N: string; + NS: string[]; + NULL: boolean; + S: string; + SS: string[]; +}>; // http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_StreamRecord.html export interface StreamRecord { From 7eba7127f78cba041c757df2dedc07e1e59991b9 Mon Sep 17 00:00:00 2001 From: SongYoungUk Date: Thu, 16 Oct 2025 06:42:40 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#73836=20feat(e?= =?UTF-8?q?mscripten)=20:=20Update=20`createDevice`=20API=20by=20@R3gardle?= =?UTF-8?q?ss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/emscripten/emscripten-tests.ts | 6 ++++++ types/emscripten/index.d.ts | 16 ++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/types/emscripten/emscripten-tests.ts b/types/emscripten/emscripten-tests.ts index 62d644f3671929..bb85037eecc642 100644 --- a/types/emscripten/emscripten-tests.ts +++ b/types/emscripten/emscripten-tests.ts @@ -104,6 +104,12 @@ function FSTest(): void { const bothDevice = FS.createDevice("/", "console", () => 66, (c: number) => console.log(c)); // Returns 'B' (66) const simpleDevice = FS.createDevice("/", "null"); + // Test createDevice.major property access + const majorNumber: number = FS.createDevice.major; + FS.createDevice.major = 128; // Test assignment + // $ExpectType number + FS.createDevice.major; + FS.writeFile("file", "foobar"); FS.symlink("file", "link"); diff --git a/types/emscripten/index.d.ts b/types/emscripten/index.d.ts index 87082b3141cac1..fbbecd971caf74 100644 --- a/types/emscripten/index.d.ts +++ b/types/emscripten/index.d.ts @@ -268,12 +268,16 @@ declare namespace FS { function makedev(ma: number, mi: number): number; function registerDevice(dev: number, ops: Partial): void; function getDevice(dev: number): { stream_ops: StreamOps }; - function createDevice( - parent: string | FSNode, - name: string, - input?: () => number | null | undefined, - output?: (c: number) => any, - ): FSNode; + var createDevice: + & (( + parent: string | FSNode, + name: string, + input?: (() => number | null | undefined) | null, + output?: ((code: number) => void) | null, + ) => FSNode) + & { + major: number; + }; // // core