build_extra/rust/BUILD.gn
. When adding a new Rust crate in third_party/
, we need to add an entry into this file. For example, this is the rule for building a crate called time
:rust_crate
GN template is defined in build_extra/rust/rust.gni
)readFile
is defined in read_file.ts
, while its unit tests are in read_file_test.ts
.main.ts
: denoMain
is defined in this file, which is invoked by Rust backend as the entry for bootstrapping TypeScript code.globals.ts
: All globals that do not need imports are attached here.deno.ts
: All deno
namespace APIs are exported here.libdeno.ts
: Type definition for customized V8 API exposed to TypeScript.unit_tests.ts
: All unit tests are imported here and executed.compiler.ts
: Customized TypeScript compilation logic for Deno.api.cc
: libdeno APIs that are exposed and callable from the Rust sidebinding.cc
: code that handles interaction with V8 and where V8 C++ bindings are added. These APIs are exposed Rust and TypeScript side both.snapshot_creator.cc
: logic for creating V8 snapshot during build.libdeno.rs
: exposes libdeno APIs from libdeno/api.cc
to Rustisolate.rs
: extracts V8 isolate (an isolated instance of V8 engine) and event loop creation logic using libdeno APIsdeno_dir.rs
: contains logic for Deno module file resolution and cachingops.rs
: where each Deno Op (operation) is handled. This is where the actual file system and network accesses are done.main.rs
: contains main function for Rust. This is the ACTUAL entry point when you run the Deno binary.msg.fbs
: FlatBuffers definition file for message structure, used for message passing. Modify this file when you want to add or modify a message structure.*.js
or *.ts
files define the code to run for each test. *.test
defined how should this test be executed. Usually, *.out
defines the expected output of a test (the actual name is specified in *.test
files) build.py
: Builds Denosetup.py
: Setup and necessary code fetchingformat.py
: Code formattinglint.py
: Code lintingsync_third_party.py
: Sync third_party code after user modifies package.json
, Cargo.toml
, etc.cargo build
logic. Internally invokes BUILD.gn
.