This release has a ton of awesome things in it, but the best thing is that
almost all of this awesome work is brought to you by a new contributor
to wasm-pack. Welcome ya'll! We're so glad to have you!
✨ Features
-
🎏 New Flags
-
--modeflag for skipping steps when callinginit- ashleygwilliams, pull/186After teaching and working with
wasm-packfor some time, it's clear that people would
like the flexibility to run some of the steps included in theinitcommand and not others.
This release introduces a--modeflag that you can pass toinit. The two modes currently
available areskip-buildandno-installsand they are explained below. In the future,
we are looking to change theinitinterface, and potentially to split it into two commands.
If you have thoughts or opinions on this, please weigh in on issue/188!-
skip-buildmode - kohensu, pull/151wasm-pack init --mode skip-buildSometimes you want to run some of the shorter meta-data steps that
wasm-pack initdoes for you without all the longer build steps. Now
you can! Additionally, this PR was a fantastic refactor that allows even
more custom build configurations will be simple to implement! -
no-installsmode - ashleygwilliams, pull/186wasm-pack init --mode no-installsSometimes you want to run
wasm-packand not have it modify your global
env by installing stuff! Or maybe you are just in a hurry and trust your
env is set up correctly- now the--mode no-installoption allows you to
do this.
-
-
wasm-pack init --debugFind yourself needing to compile your Rust in
developmentmode? You can now
pass the--debugflag to do so! Thanks so much to clanehin for filing
issue/126 for this feature... and then implementing it!
-
-
✅ New Checks
-
ensure you have
cdylibcrate type - kendromelon, pull/150One of the biggest mistakes we've seen beginners make is forgetting to declare
thecdylibcrate type in theirCargo.tomlbefore runningwasm-pack init.
This PR fixes that, and comes from someone who ran into this exact issue learning
aboutwasm-packat JSConfEU! Love when it works out like this. -
ensure you have declared wasm-bindgen as a dep - robertohuertasm, pull/162
Another easy mistake to make is to forget to declare
wasm-bindgenas a
dependency in yourCargo.toml. Nowwasm-packwill check and make sure you
have it set before doing a bunch of long build steps :) -
ensure you are running
nightly- FreeMasen, pull/172wasm-packcurrently requires that you run it withnightlyRust. Now,wasm-pack
will make sure you havenightlyinstalled and will ensure thatcargo buildis run
withnightly. Thanks so much to FreeMasen for filing issue/171 and fixing it!
-
🤕 Fixes
-
fixed broken progress bar spinner - migerh, pull/164
Oh no! We broke the progress bar spinner in version 0.3.0. Thankfully, it's
fixed now- with a thoughtful refactor that also makes the underlying code
sounder overall.
🛠️ Maintenance
-
WIP bot - ashleygwilliams & mgattozzi, issue/170
We've got a lot of work happening on
wasm-packso it's good to have a bit
of protection from accidentally merging a Work In Progress. As a result, we
now have the WIP Github App set up onwasm-pack. Great suggestion mgattozzi! -
modularize
command.rs- ashleygwilliams, pull/182Thanks to the growth of
wasm-pack,command.rswas getting pretty long.
We've broken it out into per command modules now, to help make it easier to
read and maintain! -
improve PoisonError conversion - migerh, pull/187
As part of the awesome progress bar spinner fix in pull/164, migerh introduced
a small concern with anunwrapdue to an outstanding need to convertPoisonError
intowasm-pack's customError. Though not a critical concern, migerh mitigated
this right away by replacingstd::sync::RwLockwith theparking_lotcrate!
This cleaned up the code even more than the previous patch! -
wasm category for crates.io discovery- TomasHubelbauer, pull/149
crates.io has categories to help folks discover crates, be we weren't
leveraging it! Now- if you explore thewasmcategory on crates.io
you'll seewasm-pack!
-
human panic is now 1.0.0 - spacekookie, pull/156
Congrats friends! We like what you do.
📖 Documentation
-
cleaned up the README - ashleygwilliams, pull/155
Our
READMEwas struggling with a common problem- doing too much at once.
More specifically, it wasn't clear who the audience was, contributers or
end users? We've cleaned up our README and created a document specifically
to help contributors get up and running.