summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-02-20 01:11:56 +0100
committerGitHub <noreply@github.com>2023-02-20 01:11:56 +0100
commita1cd2a5915c13f6a9b8eafa3807e143a02616bc1 (patch)
treef99a6983e790797abb143d333ca3551d0b414552 /ext
parenta01af067d79e78ea8e2c21cf0ef92d86d425f8eb (diff)
refactor(core): definition of "ExtensionFileSource" (#17823)
This commit changes definition of "ExtensionFileSource", by changing "code" field to being "ExtensionFileSourceCode" enum. Currently the enum has only a single variant "IncludedInBinary". It is done in preparation to allow embedders to decide if they want to include the source code in the binary when snapshotting (in most cases they shouldn't do that). In the follow up commit we'll add more variants to "ExtensionFileSourceCode". "include_js_files_dir!" macro was removed in favor "include_js_files!" macro which can now accept "dir" option.
Diffstat (limited to 'ext')
-rw-r--r--ext/node/lib.rs3
-rw-r--r--ext/url/benches/url_ops.rs5
-rw-r--r--ext/web/benches/encoding.rs5
-rw-r--r--ext/web/benches/timers_ops.rs5
-rw-r--r--ext/webidl/benches/dict.rs5
5 files changed, 16 insertions, 7 deletions
diff --git a/ext/node/lib.rs b/ext/node/lib.rs
index 43861ef46..697100c8f 100644
--- a/ext/node/lib.rs
+++ b/ext/node/lib.rs
@@ -2,7 +2,6 @@
use deno_core::error::AnyError;
use deno_core::include_js_files;
-use deno_core::include_js_files_dir;
use deno_core::located_script_name;
use deno_core::op;
use deno_core::Extension;
@@ -96,7 +95,7 @@ fn op_node_build_os() -> String {
}
pub fn init_polyfill() -> Extension {
- let esm_files = include_js_files_dir!(
+ let esm_files = include_js_files!(
dir "polyfills",
"_core.ts",
"_crypto/crypto_browserify/asn1.js/base/buffer.js",
diff --git a/ext/url/benches/url_ops.rs b/ext/url/benches/url_ops.rs
index 001b5de92..828b02297 100644
--- a/ext/url/benches/url_ops.rs
+++ b/ext/url/benches/url_ops.rs
@@ -7,6 +7,7 @@ use deno_bench_util::bencher::Bencher;
use deno_core::Extension;
use deno_core::ExtensionFileSource;
+use deno_core::ExtensionFileSourceCode;
fn setup() -> Vec<Extension> {
vec![
@@ -15,9 +16,11 @@ fn setup() -> Vec<Extension> {
Extension::builder("bench_setup")
.esm(vec![ExtensionFileSource {
specifier: "internal:setup".to_string(),
- code: r#"import { URL } from "internal:deno_url/00_url.js";
+ code: ExtensionFileSourceCode::IncludedInBinary(
+ r#"import { URL } from "internal:deno_url/00_url.js";
globalThis.URL = URL;
"#,
+ ),
}])
.build(),
]
diff --git a/ext/web/benches/encoding.rs b/ext/web/benches/encoding.rs
index bb297a1bf..bfae07937 100644
--- a/ext/web/benches/encoding.rs
+++ b/ext/web/benches/encoding.rs
@@ -6,6 +6,7 @@ use deno_bench_util::bencher::benchmark_group;
use deno_bench_util::bencher::Bencher;
use deno_core::Extension;
use deno_core::ExtensionFileSource;
+use deno_core::ExtensionFileSourceCode;
use deno_web::BlobStore;
struct Permissions;
@@ -32,11 +33,13 @@ fn setup() -> Vec<Extension> {
Extension::builder("bench_setup")
.esm(vec![ExtensionFileSource {
specifier: "internal:setup".to_string(),
- code: r#"
+ code: ExtensionFileSourceCode::IncludedInBinary(
+ r#"
import { TextDecoder } from "internal:deno_web/08_text_encoding.js";
globalThis.TextDecoder = TextDecoder;
globalThis.hello12k = Deno.core.encode("hello world\n".repeat(1e3));
"#,
+ ),
}])
.state(|state| {
state.put(Permissions {});
diff --git a/ext/web/benches/timers_ops.rs b/ext/web/benches/timers_ops.rs
index f01b4c532..657082df4 100644
--- a/ext/web/benches/timers_ops.rs
+++ b/ext/web/benches/timers_ops.rs
@@ -6,6 +6,7 @@ use deno_bench_util::bencher::benchmark_group;
use deno_bench_util::bencher::Bencher;
use deno_core::Extension;
use deno_core::ExtensionFileSource;
+use deno_core::ExtensionFileSourceCode;
use deno_web::BlobStore;
struct Permissions;
@@ -32,11 +33,11 @@ fn setup() -> Vec<Extension> {
.esm(vec![
ExtensionFileSource {
specifier: "internal:setup".to_string(),
- code: r#"
+ code: ExtensionFileSourceCode::IncludedInBinary(r#"
import { setTimeout, handleTimerMacrotask } from "internal:deno_web/02_timers.js";
globalThis.setTimeout = setTimeout;
Deno.core.setMacrotaskCallback(handleTimerMacrotask);
- "#
+ "#)
},
])
.state(|state| {
diff --git a/ext/webidl/benches/dict.rs b/ext/webidl/benches/dict.rs
index 00bef4935..df0844fce 100644
--- a/ext/webidl/benches/dict.rs
+++ b/ext/webidl/benches/dict.rs
@@ -7,6 +7,7 @@ use deno_bench_util::bencher::Bencher;
use deno_core::Extension;
use deno_core::ExtensionFileSource;
+use deno_core::ExtensionFileSourceCode;
fn setup() -> Vec<Extension> {
vec![
@@ -14,7 +15,9 @@ fn setup() -> Vec<Extension> {
Extension::builder("deno_webidl_bench")
.esm(vec![ExtensionFileSource {
specifier: "internal:setup".to_string(),
- code: include_str!("dict.js"),
+ code: ExtensionFileSourceCode::IncludedInBinary(include_str!(
+ "dict.js"
+ )),
}])
.build(),
]