Alex Crichton
0e1fee5ddd
Rename namespace
to js_namespace
...
Along the way remove the namespace in Rust as this ended up causing too many
problems, alas! The `js_namespace` attribute now almost exclusively modifies the
JS bindings, hence the "js" in the name now.
2018-03-22 17:03:51 -07:00
Alex Crichton
fc81d8f6d3
Add From/Into JsValue for imported types
2018-03-21 12:37:10 -07:00
Alex Crichton
48b34604cb
Add some #[allow] directives to generated code
...
No need to warn about JS/Rust conventions not lining up!
2018-03-21 10:23:03 -07:00
Alex Crichton
8b3ca9b85c
Remove a stray println!
2018-03-21 10:00:07 -07:00
Alex Crichton
4a4f8b18b6
Rename static
to namespace
...
This commit renames the `static` attribute to `namespace` and simultaneously
reduces and expands the scope. The `namespace` attribute can now be applied to
all imports in addition to functions, and it no longer recognizes full typed
paths but rather just a bare identifier. The `namespace` attribute will generate
a Rust namespace to invoke the item through if one doesn't already exist (aka
bindign a type).
2018-03-21 09:55:16 -07:00
Alex Crichton
8e894fcfc5
Implement static
imports
...
This allows importing static objects like `document`, `window`, or an arbitrary
JS object from a module
2018-03-21 08:09:59 -07:00
William Lundstedt
89a00bee29
Support passing custom types by value into JS imports
2018-03-16 00:09:18 +00:00
Alex Crichton
37146395c9
Bump wasm-bindgen-cli-support to 0.1.3
2018-03-14 10:50:46 -07:00
Alex Crichton
8b2f34b51a
Zero out descriptor statics
...
This way postprocessing tools like `wasm-opt` can optimize out the data section
altogether, dropping lots of zeros
2018-03-14 10:50:12 -07:00
Alex Crichton
9825b7a7c9
Bump wasm-bindgen-cli-support to 0.1.2
2018-03-09 16:10:08 -08:00
Alex Crichton
6e75d4777c
Fix handling *almost* aligned data globals
...
Looks like LLD implicitly pads data values with zeros at the end rather than
explicitly listing them, this means that we need to read out the last byte, even
if it's not 4-byte aligned, as it could still represent a wasm-bindgen-generated
32-bit value.
2018-03-09 16:09:07 -08:00
Nick Fitzgerald
92436069bd
wasm-bindgen-macro: Formalize building literals with a trait
2018-03-07 16:29:25 -08:00
Nick Fitzgerald
c2e9a4b71e
Implement quote::ToTokens for AST types
...
They were already implemented, just without the formalization ;)
2018-03-07 14:49:40 -08:00
Nick Fitzgerald
9e24dabe9c
test-support: Add ability to add new local dependencies to Cargo.toml
2018-03-07 10:06:25 -08:00
Alex Crichton
1a9e031ed0
Bump wasm-bindgen-cli to 0.1.1
2018-03-07 08:52:19 -08:00
Alex Crichton
8296e7feee
Bump wasm-bindgen-cli-support to 0.1.1
2018-03-07 08:51:40 -08:00
Alex Crichton
8254d9f516
Add an option to detect node at runtime
...
Sometimes builds are done once and used in both the browser and in node, so add
an option to do runtime detection if necessary
2018-03-07 08:50:56 -08:00
Alex Crichton
800376010d
Bump wasm-bindgen-macro to 0.1.1
2018-03-06 13:50:45 -08:00
Nick Fitzgerald
3ad3123882
Disambiguate generated wrappers
2018-03-06 13:45:44 -08:00
Alex Crichton
46f1b5680f
Add the wasm category to wasm-bindgen-cli
2018-03-05 20:28:45 -08:00
Alex Crichton
f58c436f77
Prep work for the 0.1 release
2018-03-05 20:24:35 -08:00
Alex Crichton
98030e0e4a
Switch from version strings to schema versions
...
Should help reduce some churn a bit!
2018-03-05 20:05:44 -08:00
Alex Crichton
1db5b3fb50
Add Travis/AppVeyor deployments
2018-03-05 20:05:39 -08:00
Sendil Kumar
49a7b9fef5
Merge branch 'master' into fix-no-mangle
2018-03-05 23:26:22 +01:00
Sendil Kumar
0dd8a77757
fix: remove unwanted no_mangle and extern wherever applicable
2018-03-05 23:25:15 +01:00
Sendil Kumar
d5ac523fe2
feat: rename generated file to have bg instead of wasm
2018-03-05 22:25:14 +01:00
Alex Crichton
67601c4293
No more need to optimize in dev!
2018-03-04 18:23:23 -08:00
Alex Crichton
d9e1dae298
Migrate from rollup
to webpack
in tests
...
Building on the previous commit to invoke not invoke `npm install` this takes
the commit a step further (to hopefully fix some races) to use Webpack's native
bundled wasm support.
It turns out the circular dependencies between the wasm module and the module
using it wasn't quite working out so a number of imports had to be tweaked, but
otherwise it's a nice transition where we don't have to base64 encode anything
in tests any more!
2018-03-02 19:20:14 -08:00
Alex Crichton
353794417c
Don't run npm install
during tests
...
Instead add a `package.json` and use `yarn run`.
2018-03-02 15:44:28 -08:00
Alex Crichton
31853ad0ba
Require version agreement between CLI and dep
...
One day may be able to relax this but for now its not tenable!
Closes #47
2018-03-01 19:36:59 -08:00
Alex Crichton
1c8061e675
Implement a version string
...
Add a `--version` and `-V` to the command to print out the version
2018-03-01 19:19:12 -08:00
Ryan Levick
37da9eba14
Address feedback on commit dab6ba1
2018-02-28 17:29:40 +01:00
Ryan Levick
dab6ba1df8
Enable returning a vector of js values
2018-02-28 10:56:56 +01:00
Alex Crichton
19f88f0fd2
Update parity-wasm dep
2018-02-26 17:11:56 -08:00
Ryan Levick
f1b300c8aa
get rid of unnecessary mutable var
2018-02-23 19:06:23 +01:00
Ryan Levick
f783876192
Support C-Style enums with custom int values
2018-02-23 17:38:02 +01:00
Ryan Levick
71880b8a83
Enums are numbers
2018-02-23 17:34:08 +01:00
Ryan Levick
3a270b6510
Add test for enums
2018-02-23 17:30:18 +01:00
Ryan Levick
b78343a551
Fix enum formatting issues
2018-02-22 12:11:47 +01:00
Ryan Levick
7f8316f89b
Clean up warnings
2018-02-22 12:08:28 +01:00
Ryan Levick
f11121b095
Generate enum js code
2018-02-22 12:01:38 +01:00
Ryan Levick
45543c545e
Pass numbers in js as enums to Rust successfully
2018-02-22 10:55:44 +01:00
Ryan Levick
01c31cb33d
Create Rust wrapping code for enums
2018-02-22 00:55:11 +01:00
Ryan Levick
0f8524da3c
Ensure memory accesses are exposed before accessing
2018-02-18 23:55:34 +01:00
Alex Crichton
d66bc25749
Automatically bind float math functions
...
These tend to have one "pretty obvious" definition in JS anyway, so
let's paper over this deficiency in rustc for now by automatically
resolving any imports for these functions.
Closes #28
2018-02-17 16:44:31 -08:00
Alex Crichton
9e7a4e7e60
Fix a few more mistakes from slices
2018-02-16 19:19:31 -08:00
Alex Crichton
3c58aa7310
Support integer/float slices/vectors
...
Closes #5
2018-02-16 18:58:37 -08:00
Alex Crichton
7802535948
Fix #[wasm_bindgen]
on structs with no exports
...
It should still be usable in other types!
Closes #27
2018-02-16 13:50:14 -08:00
Alex Crichton
c148a3b6dc
Emit JS with some more newlines
...
Hopefully helps a bit with readability!
2018-02-16 13:36:37 -08:00
Alex Crichton
9183236522
Implement getter/setter bindings
2018-02-14 13:16:02 -08:00