8b3ca9b85c
Remove a stray println!
2018-03-21 10:00:07 -07:00
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
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
89a00bee29
Support passing custom types by value into JS imports
2018-03-16 00:09:18 +00:00
37146395c9
Bump wasm-bindgen-cli-support to 0.1.3
2018-03-14 10:50:46 -07:00
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
9825b7a7c9
Bump wasm-bindgen-cli-support to 0.1.2
2018-03-09 16:10:08 -08:00
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
92436069bd
wasm-bindgen-macro: Formalize building literals with a trait
2018-03-07 16:29:25 -08:00
c2e9a4b71e
Implement quote::ToTokens for AST types
...
They were already implemented, just without the formalization ;)
2018-03-07 14:49:40 -08:00
9e24dabe9c
test-support: Add ability to add new local dependencies to Cargo.toml
2018-03-07 10:06:25 -08:00
1a9e031ed0
Bump wasm-bindgen-cli to 0.1.1
2018-03-07 08:52:19 -08:00
8296e7feee
Bump wasm-bindgen-cli-support to 0.1.1
2018-03-07 08:51:40 -08:00
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
800376010d
Bump wasm-bindgen-macro to 0.1.1
2018-03-06 13:50:45 -08:00
3ad3123882
Disambiguate generated wrappers
2018-03-06 13:45:44 -08:00
46f1b5680f
Add the wasm category to wasm-bindgen-cli
2018-03-05 20:28:45 -08:00
f58c436f77
Prep work for the 0.1 release
2018-03-05 20:24:35 -08:00
98030e0e4a
Switch from version strings to schema versions
...
Should help reduce some churn a bit!
2018-03-05 20:05:44 -08:00
1db5b3fb50
Add Travis/AppVeyor deployments
2018-03-05 20:05:39 -08:00
49a7b9fef5
Merge branch 'master' into fix-no-mangle
2018-03-05 23:26:22 +01:00
0dd8a77757
fix: remove unwanted no_mangle and extern wherever applicable
2018-03-05 23:25:15 +01:00
d5ac523fe2
feat: rename generated file to have bg instead of wasm
2018-03-05 22:25:14 +01:00
67601c4293
No more need to optimize in dev!
2018-03-04 18:23:23 -08:00
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
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
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
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
37da9eba14
Address feedback on commit dab6ba1
2018-02-28 17:29:40 +01:00
dab6ba1df8
Enable returning a vector of js values
2018-02-28 10:56:56 +01:00
19f88f0fd2
Update parity-wasm dep
2018-02-26 17:11:56 -08:00
f1b300c8aa
get rid of unnecessary mutable var
2018-02-23 19:06:23 +01:00
f783876192
Support C-Style enums with custom int values
2018-02-23 17:38:02 +01:00
71880b8a83
Enums are numbers
2018-02-23 17:34:08 +01:00
3a270b6510
Add test for enums
2018-02-23 17:30:18 +01:00
b78343a551
Fix enum formatting issues
2018-02-22 12:11:47 +01:00
7f8316f89b
Clean up warnings
2018-02-22 12:08:28 +01:00
f11121b095
Generate enum js code
2018-02-22 12:01:38 +01:00
45543c545e
Pass numbers in js as enums to Rust successfully
2018-02-22 10:55:44 +01:00
01c31cb33d
Create Rust wrapping code for enums
2018-02-22 00:55:11 +01:00
0f8524da3c
Ensure memory accesses are exposed before accessing
2018-02-18 23:55:34 +01:00
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
9e7a4e7e60
Fix a few more mistakes from slices
2018-02-16 19:19:31 -08:00
3c58aa7310
Support integer/float slices/vectors
...
Closes #5
2018-02-16 18:58:37 -08:00
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
c148a3b6dc
Emit JS with some more newlines
...
Hopefully helps a bit with readability!
2018-02-16 13:36:37 -08:00
9183236522
Implement getter/setter bindings
2018-02-14 13:16:02 -08:00
be368a6570
Don't look up properties in import shims
...
This'll match more closely what wasm eventually does natively, which is
importing these functions directly and not allowing changing them over time.
Closes #25
2018-02-14 12:51:58 -08:00
c0f2773c4e
Don't panic on unsupported exports
...
It's most likely safe for us to skip exports that we don't yet
support. Doing nothing will at least not hurt in those cases.
2018-02-12 17:49:26 -05:00
f3c0fc369a
Fix compatibility with LLD
...
Ensure the runtime library is always at least linked as it has important symbols
that we'll use later.
2018-02-10 10:06:56 -08:00