#394 — July 13, 2018
Read on the Web
Compromised eslint-scope npm Package Published — Just over 24 hours ago, an npm account was compromised and a popular package (eslint-scope) was infected with malicious code. Post mortem from ESLint here. The long and short of it is you’re recommended to review your own use of this module and to move to using 2FA on your own npm accounts. Revoking npm tokens and clearing node_modules may also be a good idea.
The npm Blog
Webpack 4 Fundamentals 🛠️ by Webpack Core Maintainer, Sean Larkin — Webpack 4 is the most popular and flexible build tool – Vue CLI, create-react-app and the Angular CLI all use Webpack under the hood – as soon as you need something custom, you’ll need to know Webpack.
Frontend Masters sponsor
TypeScript 3.0 Release Candidate — Project references allow TypeScript projects to depend on other TypeScript projects in a way that helps the build tools. Rest parameters can also be inferred as tuple types to make using them easier. There’s also a new unknown type to investigate.
Daniel Rosenwasser (Microsoft)
Proxymise: A Chainable Promise Proxy — An interesting proof of concept that takes you away from writing lots of then or await calls. Instead you could write something like value = await proxymise(foo).a().b().c;
Phenomenon: A 2KB Low-Level WebGL Library — Provides the essentials to deliver high performance visuals easily. Several neat demos with code including throwing 10000 cubes around.
Colin van Eenige
Sr. Front-End Engineer, Creator Tools (New York City) — We empower video creators to tell exceptional stories and to connect with their audiences & communities. Build the future with us.
Find a Job Through Vettery — Vettery matches top tech talent with fast-growing companies. Create your profile to get started.
📘 Tutorials and Opinions
React, Vue and Hyperapp Compared — Based around a simple counter example.
▶ Free Video Course: How to Upgrade Cordova Applications to NativeScript — Avoid poor app performance and unnatural UX. Free and open source cross-platform mobile framework.
The Extensive Guide to Creating Streams in RxJS
Managing Complex Waiting Experiences on Web UIs
Fatih Kadir Akın
Building an Audio Player App with Ionic, Angular, RxJS, and NgRx — Uses Auth0 for the authentication.
What is JSX? — You may use it every day, but have you seen what happens after Babel transpiles JSX?
Kent C. Dodds
Angular SEO Done Right with Server-Side Rendering
▶ An Introduction to TensorFlow.js in Your Browser — An official introduction to using TensorFlow.js for machine learning in the browser.
🔧 Code and Tools
vue-wait: Loader and Progress Management for Vue and Nuxt Apps
Fatih Kadir Akın
Enjoy a Better Development Experience with Webstorm — Try smart code completion, refactorings, & integrated tools on your React, Angular & Vue projects.
simple-keyboard: A Customizable, Responsive On-Screen Keyboard — Live demo here.
Reclare: A Declarative State and Logic Management Library — Inspired by Redux and the Elm architecture.
carbon-now-cli: Create Beautiful Images of Code From Your Terminal — It’s a terminal client for the awesome Carbon tool.
Access DigitalOcean’s Quarterly Report on Developer Cloud Trends Now
9 CSS in JS Libraries You Should Know in 2018 — Including Styletron, Emotion and Styled Components.
😄 Some Bonus “They’re Not JS But You’ll Like ‘Em” Links
vim.wasm: The Vim Editor, Ported to WebAssembly — Great demo and very fast, too. Here’s the code and an explanation of how it works.
Kotlin on the Server at Khan Academy — Adding another language to a codebase is no small feat, but Khan Academy has found the performance gains of Kotlin, a JVM-based multiplatform language, are more than worth it. A popular item from this week’s Web Operations Weekly.
Khan Academy Engineering
Web Architecture 101 — If terms like ‘load balancer’, ‘caching’, or CDN are gibberish to you, you might appreciate this simple explanation.
A ‘div’ That Looks Different In Each Major Browser — A neat demonstration of how specs don’t guarantee an identical result across browsers. Here’s the CodePen to try it for yourself.
Martijn Cuppens on Twitter