npm 7.0.0 Released
What’s in the b̶o̶x̶ update??!?
Last week, npm released v7.0 — a major update that will be part of the upcoming Node.js 15.0.0 release later this week. But if you’re an eager beaver, you can install npm 7 today by running
Workspaces: By far the most-requested feature by npm users everywhere, this new set of npm CLI features lets you manage multiple packages from within a singular, top-level root package. It’s the first time any package manager (not named Y*rn) has offered this functionality 🙃.
Auto-installing peer dependencies: With npm v6 (because programming is hard),
package-lock v2 and support for yarn.lock: When your parents are separated but they put aside their differences to support you anyway. v7 will now support
Other cool features include improved
The Bottom Line
This is npm’s first major release since it
With the release of npm v7, it looks like Github is starting to make good on that promise, while working towards its bigger goals of integrating npm into GitHub itself.
Grain - A New Web Staple
Of course they’re healthy, they’ve got whole grains
Don’t talk to us about Paleo… because grain is back. At least that what we thought last week when we heard about Grain™ — a new programming language that puts “academic features” to work.
Wtf does that mean? Grain wants to modernize various features from functional and academic languages that typically get ignored by the vast majority of developers because they’re either too abstract or too hard to learn (or both). Grain is trying to bring these features into mainstream by making them easier to use and understand for those of us who didn’t get a PhD in Computer Science from MIT.
The project is still new, but here are 3 cool things to know about Grain:
Compiles to WASM: Aka WebAssembly aka the future if you read Hacker News. This means that Grain can run in the browser, on your computer, or on a server. And it’s fast.
Sensible Types: You can define your own types without getting any runtime type errors. The docs promise that “every bit of Grain you write is thoroughly sifted for type errors, with no need for type annotations.” They’re really leaning into the metaphor here.
Functional, but chill: Grain is a functional language, but it isn’t a d*ck about it. It has a strong typechecker, but it’s flexible enough to allow for different programming styles, which makes it a lot more practical. And it’s currently adopting features like Rust’s
The Bottom Line
There’s no shortage of projects claiming to be “the new, modern language of the future.” And then… no one uses them. So it’s cool to see the Grain creators talk about accessibility, ease of use, and mainstream adoption as their main goals from Day 1.
Now go back and read this section again but swap out “Grain” for “Elm”. 😅
Have you ever used Array’s
As you start to make your code more functional, you naturally start to avoid using regular for loops in favor of
You’ll notice if you run that code it won’t work. When you do
This is where
Not super useful, but good to know it exists if you need it.