Skip to content

Commit

Permalink
don't include assets in binary (denoland#3661)
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlomieju committed Jan 12, 2020
1 parent 7ed018b commit 32cbcfe
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 14 deletions.
2 changes: 1 addition & 1 deletion cli/lib.rs
Expand Up @@ -146,7 +146,7 @@ fn create_worker_and_state(
}

fn types_command() {
let content = deno_typescript::get_asset("lib.deno_runtime.d.ts").unwrap();
let content = include_str!("./js/lib.deno_runtime.d.ts");
println!("{}", content);
}

Expand Down
31 changes: 19 additions & 12 deletions deno_typescript/lib.rs
Expand Up @@ -242,7 +242,7 @@ fn write_snapshot(
}

/// Same as get_asset() but returns NotFound intead of None.
pub fn get_asset2(name: &str) -> Result<&'static str, ErrBox> {
pub fn get_asset2(name: &str) -> Result<String, ErrBox> {
match get_asset(name) {
Some(a) => Ok(a),
None => Err(
Expand All @@ -252,19 +252,26 @@ pub fn get_asset2(name: &str) -> Result<&'static str, ErrBox> {
}
}

pub fn get_asset(name: &str) -> Option<&'static str> {
macro_rules! inc {
($e:expr) => {
Some(include_str!(concat!("typescript/lib/", $e)))
};
}
fn read_file(name: &str) -> String {
fs::read_to_string(name).unwrap()
}

macro_rules! inc {
($e:expr) => {
Some(read_file(concat!("../deno_typescript/typescript/lib/", $e)))
};
}

pub fn get_asset(name: &str) -> Option<String> {
match name {
"bundle_loader.js" => Some(include_str!("bundle_loader.js")),
"lib.deno_core.d.ts" => Some(include_str!("lib.deno_core.d.ts")),
"lib.deno_runtime.d.ts" => {
Some(include_str!("../cli/js/lib.deno_runtime.d.ts"))
"bundle_loader.js" => {
Some(read_file("../deno_typescript/bundle_loader.js"))
}
"lib.deno_core.d.ts" => {
Some(read_file("../deno_typescript/lib.deno_core.d.ts"))
}
"bootstrap.ts" => Some("console.log(\"hello deno\");"),
"lib.deno_runtime.d.ts" => Some(read_file("js/lib.deno_runtime.d.ts")),
"bootstrap.ts" => Some("console.log(\"hello deno\");".to_string()),
"typescript.d.ts" => inc!("typescript.d.ts"),
"lib.esnext.d.ts" => inc!("lib.esnext.d.ts"),
"lib.es2020.d.ts" => inc!("lib.es2020.d.ts"),
Expand Down
2 changes: 1 addition & 1 deletion deno_typescript/ops.rs
Expand Up @@ -45,7 +45,7 @@ pub fn read_file(_s: &mut TSState, v: Value) -> Result<Value, ErrBox> {
let v: ReadFile = serde_json::from_value(v)?;
let (module_name, source_code) = if v.file_name.starts_with("$asset$/") {
let asset = v.file_name.replace("$asset$/", "");
let source_code = crate::get_asset2(&asset)?.to_string();
let source_code = crate::get_asset2(&asset)?;
(asset, source_code)
} else {
assert!(!v.file_name.starts_with("$assets$"), "you meant $asset$");
Expand Down

0 comments on commit 32cbcfe

Please sign in to comment.