Remove denort optimization (#10350)

denort is an optimization to "deno compile" to produce slightly smaller
output. It's a decent idea, but causes a lot of negative side-effects:

- Deno's link time is a source of constant agony both locally and in CI,
  denort doubles link time.
- The release process is a long and arduous undertaking with many manual
  steps. denort necessitates an additional manual zip + upload from M1
  apple computers.
- The "deno compile" interface is complicated with the "--lite" option.
  This is confusing for uses ("why wouldn't you want lite?").

The benefits of this feature do not outweigh the negatives. We must find
a different approach to optimizing "deno compile" output.
This commit is contained in:
Ryan Dahl 2021-04-26 13:28:38 -04:00 committed by GitHub
parent e4e7d957e8
commit f7c298e297
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 9 additions and 103 deletions

View file

@ -319,7 +319,6 @@ async fn compile_command(
output: Option<PathBuf>,
args: Vec<String>,
target: Option<String>,
lite: bool,
) -> Result<(), AnyError> {
if !flags.unstable {
exit_unstable("compile");
@ -360,9 +359,9 @@ async fn compile_command(
module_specifier.to_string()
);
// Select base binary based on `target` and `lite` arguments
// Select base binary based on target
let original_binary =
tools::standalone::get_base_binary(deno_dir, target.clone(), lite).await?;
tools::standalone::get_base_binary(deno_dir, target.clone()).await?;
let final_bin = tools::standalone::create_standalone_binary(
original_binary,
@ -1096,10 +1095,10 @@ fn get_subcommand(
source_file,
output,
args,
lite,
target,
} => compile_command(flags, source_file, output, args, target, lite)
.boxed_local(),
} => {
compile_command(flags, source_file, output, args, target).boxed_local()
}
DenoSubcommand::Coverage {
files,
ignore,