refactor: internal runtime code TS support (#17672)

This is a proof of concept for being able to snapshot TypeScript files.

Currently only a single runtime file is authored in TypeScript -
"runtime/js/01_version.ts".

Not needed infrastructure was removed from "core/snapshot_util.rs".

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
Leo Kettmeir 2023-02-08 22:40:18 +01:00 committed by GitHub
parent bef50416b9
commit 286e5d0be9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 261 additions and 113 deletions

30
runtime/js/01_version.ts Normal file
View file

@ -0,0 +1,30 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
const primordials = globalThis.__bootstrap.primordials;
const { ObjectFreeze } = primordials;
interface Version {
deno: string;
v8: string;
typescript: string;
}
const version: Version = {
deno: "",
v8: "",
typescript: "",
};
function setVersions(
denoVersion,
v8Version,
tsVersion,
) {
version.deno = denoVersion;
version.v8 = v8Version;
version.typescript = tsVersion;
ObjectFreeze(version);
}
export { setVersions, version };