Skip to content

Commit

Permalink
Add electron support via --omit-imports
Browse files Browse the repository at this point in the history
  • Loading branch information
darinmorrison committed Jan 17, 2020
1 parent 580daab commit 6e2da73
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 1 deletion.
5 changes: 5 additions & 0 deletions crates/cli-support/src/js/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,11 @@ impl<'a> Context<'a> {

fn js_import_header(&self) -> Result<String, Error> {
let mut imports = String::new();

if self.config.omit_imports {
return Ok(imports)
}

match &self.config.mode {
OutputMode::NoModules { .. } => {
for (module, _items) in self.js_imports.iter() {
Expand Down
7 changes: 7 additions & 0 deletions crates/cli-support/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ pub struct Bindgen {
mode: OutputMode,
debug: bool,
typescript: bool,
omit_imports: bool,
demangle: bool,
keep_debug: bool,
remove_name_section: bool,
Expand Down Expand Up @@ -97,6 +98,7 @@ impl Bindgen {
},
debug: false,
typescript: false,
omit_imports: false,
demangle: true,
keep_debug: false,
remove_name_section: false,
Expand Down Expand Up @@ -222,6 +224,11 @@ impl Bindgen {
self
}

pub fn omit_imports(&mut self, omit_imports: bool) -> &mut Bindgen {
self.omit_imports = omit_imports;
self
}

pub fn demangle(&mut self, demangle: bool) -> &mut Bindgen {
self.demangle = demangle;
self
Expand Down
5 changes: 4 additions & 1 deletion crates/cli/src/bin/wasm-bindgen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Options:
--browser Hint that JS should only be compatible with a browser
--typescript Output a TypeScript definition file (on by default)
--no-typescript Don't emit a *.d.ts file
--omit-imports Don't emit imports in generated JavaScript
--debug Include otherwise-extraneous debug checks in output
--no-demangle Don't demangle Rust symbol names
--keep-debug Keep debug sections in wasm files
Expand All @@ -49,6 +50,7 @@ struct Args {
flag_no_modules: bool,
flag_typescript: bool,
flag_no_typescript: bool,
flag_omit_imports: bool,
flag_out_dir: Option<PathBuf>,
flag_out_name: Option<String>,
flag_debug: bool,
Expand Down Expand Up @@ -109,7 +111,8 @@ fn rmain(args: &Args) -> Result<(), Error> {
.keep_debug(args.flag_keep_debug)
.remove_name_section(args.flag_remove_name_section)
.remove_producers_section(args.flag_remove_producers_section)
.typescript(typescript);
.typescript(typescript)
.omit_imports(args.flag_omit_imports);
if let Some(ref name) = args.flag_no_modules_global {
b.no_modules_global(name)?;
}
Expand Down
4 changes: 4 additions & 0 deletions guide/src/reference/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ is on by default.
By default, a `*.d.ts` TypeScript declaration file is generated for the
generated JavaScript bindings, but this flag will disable that.

### `--omit-imports`

Omit the imports header section from the generated JavaScript.

### `--debug`

Generates a bit more JS and wasm in "debug mode" to help catch programmer
Expand Down

0 comments on commit 6e2da73

Please sign in to comment.