-
✨ Features
-
Adding in
--quietand--log-levelflags to control the console output - Pauan, pull/694The
--verboseflag has long existed as a way to get more console output, but now there are two flags to get less console output:--quietwill silence all stdout, so only errors will be displayed.--log-levelcan be used to silence[INFO]or[WARN]output from wasm-pack.
You can cause it to display even more information by using
--verbose, or you can silence all stdout by using--quiet.You can also use
--log-levelto have fine-grained control over wasm-pack's log output:--log-level infois the default, it causes all messages to be logged.--log-level warncauses warnings and errors to be displayed, but not info.--log-level errorcauses only errors to be displayed.
These flags are global flags, so they can be used with every command, and they must come before the command:
wasm-pack --log-level error build wasm-pack --quiet build
-
Wrap
cargo-generatewithwasm-pack new- ashleygwilliams, issue/373 pull/623One of the first steps in getting started with
wasm-packis tocargo install cargo-generateto bootstrap some project templates. This can take a while and is an extra burden on users just getting started withwasm-pack.wasm-pack newusescargo-generateto bootstrap new projects, removing the need to install the tool on your own. You can read more about this feature here. -
Allow
wasm-packto be run from subdirectories - gameldar, issue/620 pull/624If a crate path is not specified when running
wasm-packand there is noCargo.tomlin the current working directory,wasm-packwill walk up the directory structure to find aCargo.toml. -
Automatically execute
wasm-opton produced binaries - alexcrichton, issue/159 pull/625When
wasm-packbuilds binaries in released and profiling modes, it will executewasm-opton the binary, making the result smaller and more performant. -
Helpful error message when wasm-bindgen fails because of an old version - gameldar, ashleygwilliams, issue/627 pull/633
wasm-packwill pass a--webflag towasm-bindgenwhenwasm-pack build --target webis run. Before, if the user had an old version ofwasm-bindgenin their dependencies, they would receive a cryptic error message. Now they will be notified that they need to update theirwasm-bindgendependency if they want to build for thewebtarget. -
Publish releases by tag to npm - Tarnadas, pull/690
You can now use
wasm-pack publishto publish tagged releases with the optional--tagargument. You can read more about distribution tags on NPM, and more about this feature in our docs.
-
-
🤕 Fixes
-
Only use exactly v0.24.0 geckodriver on Windows - ashleygwilliams, issue/770 pull/774
wasm-pack testis a great way to test your web Wasm modules- and it very nicely sets up and configures
the necessary browser engine drivers to do so!For the v0.25.0 release of geckodriver, the team switched their build environment- which introduced a new
surprise runtime dependency, Visual C++ redistributable package, to their windows binaries. You can read
more about the issue here, mozilla/geckodriver/issue/1617.Becuase the introduction of this runtime dependency is considered a bug, and should be eventually fixed,
the team decided that the least invasive solution would be to hold geckodriver binaries, on Windows, at
v0.24.0, and to disable the auto-update logic, until the bug is fixed. -
Handle version check failures - drager, issue/652, issue/653 pull/660
Every day,
wasm-packchecks the crates.io API for the latest version number and lets the user know if their installation is out of date. Now, when these API calls fail,wasm-packalerts the user of the failure and waits until the next day to make another call to crates.io. -
Add user agent for version check - drager, issue/651 pull/658
crates.io requires tools to set a version check
User-Agentheader when requesting the latest version. Now, whenwasm-packperforms an API request to crates.io, it sendsUser-Agent: wasm-pack/0.9.0. -
Make
sideEffectsin generatedpackage.jsona boolean instead of a string - rhysd, pull/649 -
Don't warn if license-file is present - ashleygwilliams, issue/692 pull/693
Previously,
wasm-packwould warn that thelicensefield was missing if thelicense-filefield was used instead. This warning is now only surfaced if bothlicenseandlicense-fieldare absent from aCargo.toml. -
Select correct webdriver version - MartinKavik, issue/611 pull/706
wasm-packused to install a pinned version of the Chrome, Gecko, and Safari drivers. Now when a driver needs to be installed,wasm-packwill pull the latest version from the API and install that instead. -
Only run node tests on
wasm-pack test --node- alexcrichton, pull/630 -
Fix npm installs for Windows Users - EverlastingBugstopper, issue/757 pull/759
We recently published
wasm-packon the npm registry but forgot to test on Windows!npm install -g wasm-packnow works on Windows machines. -
Clean up
cargo testwarnings - ashleygwilliams, issue/752 pull/753Tests now use
std::sync::Once::new()instead of the deprecatedstd::sync::ONCE_INIT
-
-
📖 Documentation
-
Update help message for
buildandpublishsubcommands - ibaryshnikov, issue/636 pull/640wasm-bindgenrecently changed the default target frombrowsertobundlerand deprecatedbrowser. This change is now reflected in the help message forwasm-pack build. -
Add Release Checklist - ashleygwilliams, issue/370 pull/626
While we try to automate releases of
wasm-packas much as possible, there are still some manual steps that need to be completed when releasing a new version (like writing a changelog 😉). These steps now live inRELEASE_CHECKLIST.md.
-
🛠️ Maintenance
-
Ensure that
wasm-bindgengenerates move assertions - fitzgen, issue/677 pull/683wasm-packnow createswasm-bindgentest fixtures that must generate move assertions for both free functions and methods. -
Update
cargo_metadatato v0.8.0 - ThomasdenH, pull/670 -
Update
rustfmtinstall snippet in PR template` - data-pup, issue/639 pull/664rustfmtis now available on Rust's stable channel so now thewasm-packPR template recommends installing the stable version instead of the nightly version.
-