Commit Graph

937 Commits

Author SHA1 Message Date
Alex Crichton
646df20d70 Fix a typo when running commands 2018-03-29 12:26:42 -07:00
Alex Crichton
afc43174d9
Merge pull request #95 from fitzgen/backend
Split out the AST and codegen into the wasm-bindgen-backend crate
2018-03-29 18:31:38 +02:00
Nick Fitzgerald
0bd54480c6 Split out the AST and codegen into the wasm-bindgen-backend crate 2018-03-29 09:14:32 -07:00
Alex Crichton
64dc1e8b45 Fix compilation of examples on Travis 2018-03-29 08:59:08 -07:00
Alex Crichton
3ceee55d14 Fix Travis (hopefully) 2018-03-29 08:50:08 -07:00
Alex Crichton
47da3a38a8
Merge pull request #94 from ashleygwilliams/node-modules
feat(enum): object.freeze the enum
2018-03-29 17:46:24 +02:00
Ashley Williams
3ed363ae39 feat(enum): object.freeze the enum 2018-03-29 17:30:28 +02:00
Alex Crichton
79ef5979f4
Merge pull request #93 from fitzgen/rename-directories
Rename directories to remove "wasm-bindgen-" prefix in sub-crates
2018-03-29 17:29:47 +02:00
Nick Fitzgerald
393841779a Rename directories to remove "wasm-bindgen-" prefix in sub-crates 2018-03-29 08:28:25 -07:00
Alex Crichton
95d38795a9
Merge pull request #91 from fitzgen/more-contrib
Update CONTRIBUTING.md
2018-03-29 17:28:03 +02:00
Nick Fitzgerald
1d186ebf14 Update CONTRIBUTING.md 2018-03-29 08:27:31 -07:00
Alex Crichton
31107db86d
Merge pull request #92 from ashleygwilliams/node-modules
feat(node): support node enums
2018-03-29 17:27:21 +02:00
Ashley Williams
ae51c3b6f7 feat(node): support node enums 2018-03-29 17:11:28 +02:00
Alex Crichton
0657cee698
Merge pull request #86 from ashleygwilliams/node-modules
Generate node.js `require` directives for `--nodejs`
2018-03-29 16:42:20 +02:00
Ashley Williams
256b34736e feat(node): support node classes 2018-03-29 16:08:50 +02:00
Alex Crichton
6347685976
Merge pull request #84 from ashleygwilliams/prereq-readme
doc(contributing): add a contributing.md
2018-03-29 13:19:38 +02:00
Alex Crichton
b21cfcc786
Merge pull request #85 from ashleygwilliams/no-yarn-lock
fix(ignore): ignore yarn.lock
2018-03-29 13:19:17 +02:00
Ashley Williams
61ea1b4b00 fix(ignore): ignore yarn.lock 2018-03-29 11:22:06 +02:00
Ashley Williams
2e5b6a28d3 doc(contributing): add a contributing.md 2018-03-29 11:17:35 +02:00
Alex Crichton
a0bfb8103b Generate node.js require directives for --nodejs 2018-03-29 01:47:44 -07:00
Alex Crichton
67737a2661
Merge pull request #82 from kedromelon/patch-1
fix "funtion" typo in readme
2018-03-29 08:59:23 +02:00
Noah Lemen
48040c85b5
fix "funtion" typo in readme
just noticed this while reading!
2018-03-28 19:20:19 -04:00
Alex Crichton
929badcee5
Merge pull request #81 from killercup/fix-browser-flag
Cli: Fix browser flag
2018-03-28 18:30:55 +02:00
Pascal Hertleif
7cc8ef58bd Cli: Fix browser flag 2018-03-28 17:26:46 +02:00
Alex Crichton
28c3fdddf5 Remove --nodejs-runtime-detect
Instead use it by default and add a --browser argument to explicity
remove the shim.

Closes #79
2018-03-28 07:37:56 -07:00
Alex Crichton
bde56d3a6e
Merge pull request #76 from dflemstr/fix-eqeqeq
Fix some JS == → === and != → !== occurrences
2018-03-25 07:57:01 -05:00
David Flemström
930219fc53 Fix some JS == → === and != → !== occurrences
These are the ones my linter complained about in particular
2018-03-25 12:15:34 +02:00
Alex Crichton
02b7021053 Leverage new rustc wasm features
This commit leverages two new attributes in the Rust compiler,
`#[wasm_custom_section]` and `#[wasm_import_module]`. These two attributes allow
removing a lot of hacks found in wasm-bindgen and also allows removing the
requirement of `wasm-opt` to remove the unused data sections.

This does require two new nightly features but we already required the
`proc_macro` nightly feature and these will hopefully be stabilized before that
feature!
2018-03-24 10:36:19 -07:00
Alex Crichton
dc03e6c84a Shuffle around travis builds a bit 2018-03-22 21:18:03 -07:00
Alex Crichton
dd83e54b67 Fix build script of wasm-in-wasm 2018-03-22 21:15:21 -07:00
Alex Crichton
5eff7c58f9 Tweak intro text 2018-03-22 19:14:37 -07:00
Alex Crichton
a4ed4331dd Debug mode is no longer buggy
Tweak instructions in README
2018-03-22 19:10:00 -07:00
Alex Crichton
a8799c049f Add a --lib argument to cargo new
The defaults will be changing soon!
2018-03-22 19:08:53 -07:00
Alex Crichton
d258ea4e2a The schema has definitely changed now 2018-03-22 19:07:20 -07:00
Alex Crichton
9d5b4ce2fb Add another example to travis 2018-03-22 19:06:23 -07:00
Alex Crichton
7ebc428646 Implement a js_name customization
This'll allow binding multiple signatures of a JS function as well as otherwise
changing the name of the JS function you're calling from the Rust function that
you're defining.

Closes #72
2018-03-22 19:05:14 -07:00
Alex Crichton
a8045fbbe9 Use custom setter string in dom example
That way we can stick with idiomatic Rust!
2018-03-22 18:24:57 -07:00
Alex Crichton
30936a6b22 Allow specifying getter/setter properties
Should help with style clashes!
2018-03-22 18:21:41 -07:00
Alex Crichton
78e3537279 Add more docs to DESIGN about configuration attributes 2018-03-22 17:56:39 -07:00
Alex Crichton
4716752991 Add an example of namespaced APIs
By creating wasm modules from Rust!
2018-03-22 17:39:48 -07:00
Alex Crichton
8830f540a9 Add a structural bindgen attribute
This attribute indicates that methods are to be accessed in a structural method
rather than through their class. This should allow direct access to properties
embedded on objects rather than forcing all objects to have a class/prototype.
2018-03-22 17:37:27 -07:00
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
b00f8c5a28 Add an example of the performance API 2018-03-21 10:21:21 -07:00
Alex Crichton
758bb3c2c3 Add an example using Math 2018-03-21 10:03:40 -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
dd054fa357 Add an example of DOM access 2018-03-21 08:26:00 -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