From c53e941f061c1aa81de58e5180d349da48c50b74 Mon Sep 17 00:00:00 2001 From: Daniel Rahmanto Date: Sat, 20 Sep 2025 17:22:45 +0700 Subject: [PATCH 1/3] chore: expose `SymbolDispose` and `SymbolAsyncDispose` primordial types --- core/core.d.ts | 2 ++ testing/checkin/runner/extensions.rs | 1 + testing/checkin/runtime/__init.js | 2 ++ testing/checkin/runtime/primordials.ts | 4 ++++ testing/lib.rs | 1 + testing/tsconfig.json | 3 ++- testing/unit/primordials_test.ts | 13 +++++++++++++ tools/import_map.json | 3 ++- 8 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 testing/checkin/runtime/primordials.ts create mode 100644 testing/unit/primordials_test.ts diff --git a/core/core.d.ts b/core/core.d.ts index 16bb390a4..3b45d5e44 100644 --- a/core/core.d.ts +++ b/core/core.d.ts @@ -1227,7 +1227,9 @@ export namespace primordials { export const SymbolPrototypeGetDescription: (symbol: symbol) => string; export const SymbolFor: typeof Symbol.for; export const SymbolKeyFor: typeof Symbol.keyFor; + export const SymbolAsyncDispose: typeof Symbol.asyncDispose; export const SymbolAsyncIterator: typeof Symbol.asyncIterator; + export const SymbolDispose: typeof Symbol.dispose; export const SymbolHasInstance: typeof Symbol.hasInstance; export const SymbolIsConcatSpreadable: typeof Symbol.isConcatSpreadable; export const SymbolIterator: typeof Symbol.iterator; diff --git a/testing/checkin/runner/extensions.rs b/testing/checkin/runner/extensions.rs index f94ba9463..c38dd7b96 100644 --- a/testing/checkin/runner/extensions.rs +++ b/testing/checkin/runner/extensions.rs @@ -69,6 +69,7 @@ deno_core::extension!( "checkin:worker" = "worker.ts", "checkin:throw" = "throw.ts", "checkin:callsite" = "callsite.ts", + "checkin:primordials" = "primordials.ts", ], state = |state| { state.put(TestData::default()); diff --git a/testing/checkin/runtime/__init.js b/testing/checkin/runtime/__init.js index 1a82834ed..8d387fe3c 100644 --- a/testing/checkin/runtime/__init.js +++ b/testing/checkin/runtime/__init.js @@ -7,11 +7,13 @@ import * as worker from "checkin:worker"; import * as throw_ from "checkin:throw"; import * as object from "checkin:object"; import * as callsite from "checkin:callsite"; +import * as primordials from "checkin:primordials"; async; error; throw_; object; callsite; +primordials; globalThis.console = console.console; globalThis.setTimeout = timers.setTimeout; diff --git a/testing/checkin/runtime/primordials.ts b/testing/checkin/runtime/primordials.ts new file mode 100644 index 000000000..3b7a8ec25 --- /dev/null +++ b/testing/checkin/runtime/primordials.ts @@ -0,0 +1,4 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +import { primordials } from "ext:core/mod.js"; + +export { primordials }; diff --git a/testing/lib.rs b/testing/lib.rs index 2f89a0bd9..a534010d1 100644 --- a/testing/lib.rs +++ b/testing/lib.rs @@ -45,6 +45,7 @@ unit_test!( resource_test, serialize_deserialize_test, stats_test, + primordials_test, task_test, tc39_test, timer_test, diff --git a/testing/tsconfig.json b/testing/tsconfig.json index f5cd582b5..35a80ef65 100644 --- a/testing/tsconfig.json +++ b/testing/tsconfig.json @@ -13,7 +13,8 @@ "checkin:timers": ["checkin/runtime/timers.ts"], "checkin:worker": ["checkin/runtime/worker.ts"], "checkin:object": ["checkin/runtime/object.ts"], - "checkin:callsite": ["checkin/runtime/callsite.ts"] + "checkin:callsite": ["checkin/runtime/callsite.ts"], + "checkin:primordials": ["checkin/runtime/primordials.ts"] }, "lib": ["ESNext", "DOM", "ES2023.Array"], "module": "ESNext", diff --git a/testing/unit/primordials_test.ts b/testing/unit/primordials_test.ts new file mode 100644 index 000000000..c4d4c0dcb --- /dev/null +++ b/testing/unit/primordials_test.ts @@ -0,0 +1,13 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +import { assert, test } from "checkin:testing"; +import { primordials } from "checkin:primordials"; + +const { SymbolAsyncDispose, SymbolDispose } = primordials; + +test(function testDisposeSymbol() { + assert(typeof SymbolAsyncDispose === "symbol"); + assert(typeof SymbolDispose === "symbol"); + + assert(Symbol.asyncDispose === SymbolAsyncDispose); + assert(Symbol.dispose === SymbolDispose); +}); diff --git a/tools/import_map.json b/tools/import_map.json index 1c8fef31d..a46f59df7 100644 --- a/tools/import_map.json +++ b/tools/import_map.json @@ -9,6 +9,7 @@ "checkin:throw": "../testing/checkin/runtime/throw.ts", "checkin:timers": "../testing/checkin/runtime/timers.ts", "checkin:worker": "../testing/checkin/runtime/worker.ts", - "checkin:callsite": "../testing/checkin/runtime/callsite.ts" + "checkin:callsite": "../testing/checkin/runtime/callsite.ts", + "checkin:primordials": "../testing/checkin/runtime/primordials.ts" } } From b92207e775f5c2451c8cd1eeb61672b90a6baae8 Mon Sep 17 00:00:00 2001 From: Daniel Rahmanto Date: Sat, 20 Sep 2025 22:21:09 +0700 Subject: [PATCH 2/3] chore: omit test --- testing/checkin/runner/extensions.rs | 3 +-- testing/checkin/runtime/__init.js | 2 -- testing/checkin/runtime/primordials.ts | 4 ---- testing/lib.rs | 1 - testing/tsconfig.json | 3 +-- testing/unit/primordials_test.ts | 13 ------------- tools/import_map.json | 3 +-- 7 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 testing/checkin/runtime/primordials.ts delete mode 100644 testing/unit/primordials_test.ts diff --git a/testing/checkin/runner/extensions.rs b/testing/checkin/runner/extensions.rs index c38dd7b96..e26d608ed 100644 --- a/testing/checkin/runner/extensions.rs +++ b/testing/checkin/runner/extensions.rs @@ -68,8 +68,7 @@ deno_core::extension!( "checkin:timers" = "timers.ts", "checkin:worker" = "worker.ts", "checkin:throw" = "throw.ts", - "checkin:callsite" = "callsite.ts", - "checkin:primordials" = "primordials.ts", + "checkin:callsite" = "callsite.ts" ], state = |state| { state.put(TestData::default()); diff --git a/testing/checkin/runtime/__init.js b/testing/checkin/runtime/__init.js index 8d387fe3c..1a82834ed 100644 --- a/testing/checkin/runtime/__init.js +++ b/testing/checkin/runtime/__init.js @@ -7,13 +7,11 @@ import * as worker from "checkin:worker"; import * as throw_ from "checkin:throw"; import * as object from "checkin:object"; import * as callsite from "checkin:callsite"; -import * as primordials from "checkin:primordials"; async; error; throw_; object; callsite; -primordials; globalThis.console = console.console; globalThis.setTimeout = timers.setTimeout; diff --git a/testing/checkin/runtime/primordials.ts b/testing/checkin/runtime/primordials.ts deleted file mode 100644 index 3b7a8ec25..000000000 --- a/testing/checkin/runtime/primordials.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -import { primordials } from "ext:core/mod.js"; - -export { primordials }; diff --git a/testing/lib.rs b/testing/lib.rs index a534010d1..2f89a0bd9 100644 --- a/testing/lib.rs +++ b/testing/lib.rs @@ -45,7 +45,6 @@ unit_test!( resource_test, serialize_deserialize_test, stats_test, - primordials_test, task_test, tc39_test, timer_test, diff --git a/testing/tsconfig.json b/testing/tsconfig.json index 35a80ef65..f5cd582b5 100644 --- a/testing/tsconfig.json +++ b/testing/tsconfig.json @@ -13,8 +13,7 @@ "checkin:timers": ["checkin/runtime/timers.ts"], "checkin:worker": ["checkin/runtime/worker.ts"], "checkin:object": ["checkin/runtime/object.ts"], - "checkin:callsite": ["checkin/runtime/callsite.ts"], - "checkin:primordials": ["checkin/runtime/primordials.ts"] + "checkin:callsite": ["checkin/runtime/callsite.ts"] }, "lib": ["ESNext", "DOM", "ES2023.Array"], "module": "ESNext", diff --git a/testing/unit/primordials_test.ts b/testing/unit/primordials_test.ts deleted file mode 100644 index c4d4c0dcb..000000000 --- a/testing/unit/primordials_test.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -import { assert, test } from "checkin:testing"; -import { primordials } from "checkin:primordials"; - -const { SymbolAsyncDispose, SymbolDispose } = primordials; - -test(function testDisposeSymbol() { - assert(typeof SymbolAsyncDispose === "symbol"); - assert(typeof SymbolDispose === "symbol"); - - assert(Symbol.asyncDispose === SymbolAsyncDispose); - assert(Symbol.dispose === SymbolDispose); -}); diff --git a/tools/import_map.json b/tools/import_map.json index a46f59df7..1c8fef31d 100644 --- a/tools/import_map.json +++ b/tools/import_map.json @@ -9,7 +9,6 @@ "checkin:throw": "../testing/checkin/runtime/throw.ts", "checkin:timers": "../testing/checkin/runtime/timers.ts", "checkin:worker": "../testing/checkin/runtime/worker.ts", - "checkin:callsite": "../testing/checkin/runtime/callsite.ts", - "checkin:primordials": "../testing/checkin/runtime/primordials.ts" + "checkin:callsite": "../testing/checkin/runtime/callsite.ts" } } From 3bb57d2f588f92721c080dc267e4e3b8340ec065 Mon Sep 17 00:00:00 2001 From: Daniel Rahmanto Date: Sat, 20 Sep 2025 22:21:43 +0700 Subject: [PATCH 3/3] refactor: trailing comma --- testing/checkin/runner/extensions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/checkin/runner/extensions.rs b/testing/checkin/runner/extensions.rs index e26d608ed..f94ba9463 100644 --- a/testing/checkin/runner/extensions.rs +++ b/testing/checkin/runner/extensions.rs @@ -68,7 +68,7 @@ deno_core::extension!( "checkin:timers" = "timers.ts", "checkin:worker" = "worker.ts", "checkin:throw" = "throw.ts", - "checkin:callsite" = "callsite.ts" + "checkin:callsite" = "callsite.ts", ], state = |state| { state.put(TestData::default());