Skip to content

Commit d71a7e4

Browse files
Merge pull request #166 from ashleygwilliams/0.4.0
v0.4.0
2 parents 3f8584e + 309e6ab commit d71a7e4

File tree

3 files changed

+166
-2
lines changed

3 files changed

+166
-2
lines changed

CHANGELOG.md

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,169 @@
11
# Changelog
22

3+
## 🌟 0.4.0
4+
5+
This release has a ton of awesome things in it, but the best thing is that
6+
almost all of this awesome work is brought to you by a **new** contributor
7+
to `wasm-pack`. Welcome ya'll! We're so glad to have you!
8+
9+
### ✨ Features
10+
11+
- #### 🎏 New Flags
12+
13+
- **`--mode` flag for skipping steps when calling `init` - [ashleygwilliams], [pull/186]**
14+
15+
After teaching and working with `wasm-pack` for some time, it's clear that people would
16+
like the flexibility to run some of the steps included in the `init` command and not others.
17+
This release introduces a `--mode` flag that you can pass to `init`. The two modes currently
18+
available are `skip-build` and `no-installs` and they are explained below. In the future,
19+
we are looking to change the `init` interface, and potentially to split it into two commands.
20+
If you have thoughts or opinions on this, please weigh in on [issue/188]!
21+
22+
[issue/188]: https://github.com/ashleygwilliams/wasm-pack/issues/188
23+
[pull/186]: https://github.com/ashleygwilliams/wasm-pack/pull/186
24+
25+
- **`skip-build` mode - [kohensu], [pull/151]**
26+
27+
```
28+
wasm-pack init --mode skip-build
29+
```
30+
31+
Sometimes you want to run some of the shorter meta-data steps that
32+
`wasm-pack init` does for you without all the longer build steps. Now
33+
you can! Additionally, this PR was a fantastic refactor that allows even
34+
more custom build configurations will be simple to implement!
35+
36+
[kohensu]: https://github.com/kohensu
37+
[pull/151]: https://github.com/ashleygwilliams/wasm-pack/pull/151
38+
39+
- **`no-installs` mode - [ashleygwilliams], [pull/186]**
40+
41+
```
42+
wasm-pack init --mode no-installs
43+
```
44+
45+
Sometimes you want to run `wasm-pack` and not have it modify your global
46+
env by installing stuff! Or maybe you are just in a hurry and trust your
47+
env is set up correctly- now the `--mode no-install` option allows you to
48+
do this.
49+
50+
- **`--debug` - [clanehin], [pull/127]**
51+
52+
```
53+
wasm-pack init --debug
54+
```
55+
56+
Find yourself needing to compile your Rust in `development` mode? You can now
57+
pass the `--debug` flag to do so! Thanks so much to [clanehin] for filing
58+
[issue/126] for this feature... and then implementing it!
59+
60+
[pull/127]: https://github.com/ashleygwilliams/wasm-pack/pull/127
61+
[issue/126]: https://github.com/ashleygwilliams/wasm-pack/issues/126
62+
[clanehin]: https://github.com/clanehin
63+
64+
- #### ✅ New Checks
65+
66+
- **ensure you have `cdylib` crate type - [kendromelon], [pull/150]**
67+
68+
One of the biggest mistakes we've seen beginners make is forgetting to declare
69+
the `cdylib` crate type in their `Cargo.toml` before running `wasm-pack init`.
70+
This PR fixes that, and comes from someone who ran into this exact issue learning
71+
about `wasm-pack` at [JSConfEU]! Love when it works out like this.
72+
73+
[JSConfEU]: https://2018.jsconf.eu/
74+
[kendromelon]: https://github.com/kedromelon
75+
[pull/150]: https://github.com/ashleygwilliams/wasm-pack/pull/150
76+
77+
- **ensure you have declared wasm-bindgen as a dep - [robertohuertasm], [pull/162]**
78+
79+
Another easy mistake to make is to forget to declare `wasm-bindgen` as a
80+
dependency in your `Cargo.toml`. Now `wasm-pack` will check and make sure you
81+
have it set before doing a bunch of long build steps :)
82+
83+
[robertohuertasm]: https://github.com/robertohuertasm
84+
[pull/162]: https://github.com/ashleygwilliams/wasm-pack/pull/162
85+
86+
- **ensure you are running `nightly` - [FreeMasen], [pull/172]**
87+
88+
`wasm-pack` currently requires that you run it with `nightly` Rust. Now, `wasm-pack`
89+
will make sure you have `nightly` installed and will ensure that `cargo build` is run
90+
with `nightly`. Thanks so much to [FreeMasen] for filing [issue/171] and fixing it!
91+
92+
[FreeMasen]: https://github.com/FreeMasen
93+
[issue/171]: https://github.com/ashleygwilliams/wasm-pack/issues/171
94+
[pull/172]: https://github.com/ashleygwilliams/wasm-pack/pull/172
95+
96+
### 🤕 Fixes
97+
98+
- **fixed broken progress bar spinner - [migerh], [pull/164]**
99+
100+
Oh no! We broke the progress bar spinner in version 0.3.0. Thankfully, it's
101+
fixed now- with a thoughtful refactor that also makes the underlying code
102+
sounder overall.
103+
104+
[migerh]: https://github.com/migerh
105+
[pull/164]: https://github.com/ashleygwilliams/wasm-pack/pull/164
106+
107+
### 🛠️ Maintenance
108+
109+
- **WIP bot - [ashleygwilliams] & [mgattozzi], [issue/170]**
110+
111+
We've got a lot of work happening on `wasm-pack` so it's good to have a bit
112+
of protection from accidentally merging a Work In Progress. As a result, we
113+
now have the [WIP Github App] set up on `wasm-pack`. Great suggestion [mgattozzi]!
114+
115+
[WIP Github App]: https://github.com/wip/app
116+
[issue/170]: https://github.com/ashleygwilliams/wasm-pack/issues/170
117+
118+
- **modularize `command.rs` - [ashleygwilliams], [pull/182]**
119+
120+
Thanks to the growth of `wasm-pack`, `command.rs` was getting pretty long.
121+
We've broken it out into per command modules now, to help make it easier to
122+
read and maintain!
123+
124+
[pull/182]: https://github.com/ashleygwilliams/wasm-pack/pull/182
125+
126+
- **improve PoisonError conversion - [migerh], [pull/187]**
127+
128+
As part of the awesome progress bar spinner fix in [pull/164], [migerh] introduced
129+
a small concern with an `unwrap` due to an outstanding need to convert `PoisonError`
130+
into `wasm-pack`'s custom `Error`. Though not a critical concern, [migerh] mitigated
131+
this right away by replacing `std::sync::RwLock` with the [`parking_lot` crate]!
132+
This cleaned up the code even more than the previous patch!
133+
134+
[`parking_lot` crate]: https://github.com/Amanieu/parking_lot
135+
[pull/187]: https://github.com/ashleygwilliams/wasm-pack/pull/187
136+
137+
- **wasm category for crates.io discovery- [TomasHubelbauer], [pull/149]**
138+
139+
[crates.io] has [categories] to help folks discover crates, be we weren't
140+
leveraging it! Now- if you explore the [`wasm` category] on [crates.io]
141+
you'll see `wasm-pack`!
142+
143+
[crates.io]: https://crates.io/
144+
[categories]: https://crates.io/categories
145+
[`wasm` category]: https://crates.io/categories/wasm
146+
[TomasHubelbauer]: https://github.com/TomasHubelbauer
147+
[pull/149]: https://github.com/ashleygwilliams/wasm-pack/pull/149
148+
149+
- **human panic is now 1.0.0 - [spacekookie], [pull/156]**
150+
151+
Congrats friends! We like what you do.
152+
153+
[pull/156]: https://github.com/ashleygwilliams/wasm-pack/pull/156
154+
[spacekookie]: https://github.com/spacekookie
155+
156+
### 📖 Documentation
157+
158+
- **cleaned up the README - [ashleygwilliams], [pull/155]**
159+
160+
Our `README` was struggling with a common problem- doing too much at once.
161+
More specifically, it wasn't clear who the audience was, contributers or
162+
end users? We've cleaned up our README and created a document specifically
163+
to help contributors get up and running.
164+
165+
[pull/155]: https://github.com/ashleygwilliams/wasm-pack/pull/155
166+
3167
## 🌠 0.3.1
4168
5169
Babby's first point release! Are we a real project now?

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "wasm-pack"
33
description = "pack up the wasm and publish it to npm!"
4-
version = "0.3.1"
4+
version = "0.4.0"
55
authors = ["Ashley Williams <[email protected]>"]
66
repository = "https://github.com/ashleygwilliams/wasm-pack.git"
77
license = "MIT/Apache-2.0"

0 commit comments

Comments
 (0)