---
title: "TypeScript 3 RC and an npm incident to be aware of"
publication: "JavaScript Weekly"
issue: 394
published_at: "2018-07-13"
canonical_url: "https://javascriptweekly.com/issues/394"
---

This week's JavaScript news       

#394 — July 13, 2018 

[Read on the Web](https://javascriptweekly.com/issues/394)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/pswmi3sskhguwr83owbn.jpg)](https://github.com/nhnent/tui.image-editor)  

[Toast UI Image Editor: A Full-Featured Photo Image Editor](https://github.com/nhnent/tui.image-editor) — From the creators of [TUI Calendar](https://github.com/nhnent/tui.calendar) and [TUI Chart](https://github.com/nhnent/tui.chart) controls comes a powerful JavaScript image editor control. [Live demo here.](http://nhnent.github.io/tui.image-editor/latest/tutorial-example01-includeUi.html) 

NHN Entertainment   

[Compromised eslint-scope npm Package Published](https://blog.npmjs.org/post/175824896885/incident-report-npm-inc-operations-incident-of) — 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.](https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes) 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](https://gist.github.com/localjo/59bb12b7a4789e01e3782cf8a1031c87) may also be a good idea. 

The npm Blog   [![\](https://copm.s3.amazonaws.com/1f9a4511.jpg)](https://frontendmasters.com/courses/webpack-fundamentals/) 

[Webpack 4 Fundamentals 🛠️ by Webpack Core Maintainer, Sean Larkin](https://frontendmasters.com/courses/webpack-fundamentals/) — 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](https://frontendmasters.com/courses/webpack-fundamentals/)._ 

Frontend Masters sponsor   

[TypeScript 3.0 Release Candidate](https://blogs.msdn.microsoft.com/typescript/2018/07/12/announcing-typescript-3-0-rc/) — 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](https://github.com/kozhevnikov/proxymise) — 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;` 

Ilya Kozhevnikov   

[Phenomenon: A 2KB Low-Level WebGL Library](https://github.com/vaneenige/phenomenon) — Provides the essentials to deliver high performance visuals easily. [Several neat demos with code](https://codepen.io/collection/AOpMrm/) including [throwing 10000 cubes around.](https://codepen.io/cvaneenige/pen/LmXWeM) 

Colin van Eenige  

💻 Jobs  

[Sr. Front-End Engineer, Creator Tools (New York City)](https://grnh.se/7d882d4c1) — We empower video creators to tell exceptional stories and to connect with their audiences & communities. Build the future with us. 

Vimeo   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-75455) — Vettery matches top tech talent with fast-growing companies. Create your profile to get started. 

Vettery  

📘 Tutorials and Opinions  

[React, Vue and Hyperapp Compared](https://hackernoon.com/javascript-framework-comparison-with-examples-react-vue-hyperapp-97f064fb468d) — Based around a simple counter example. 

Angelos Chalaris   

[WTF Is 'this'? Understanding the 'this' Keyword, call, apply, and bind in JavaScript](https://tylermcginnis.com/this-keyword-call-apply-bind-javascript/) — There's also a video, if you prefer. 

Tyler McGinnis   

▶[Free Video Course: How to Upgrade Cordova Applications to NativeScript](https://nativescripting.com/course/upgrading-cordova-applications-to-nativescript/?utm_source=javascript-weekly&utm_medium=newsletter&utm_campaign=nativescript-cordova) — Avoid poor app performance and unnatural UX. Free and open source cross-platform mobile framework. 

NativeScript sponsor   

[The Extensive Guide to Creating Streams in RxJS](https://blog.angularindepth.com/the-extensive-guide-to-creating-streams-in-rxjs-aaa02baaff9a) 

Oliver Flaggl   

[Managing Complex Waiting Experiences on Web UIs](https://medium.com/@fkadev/managing-complex-waiting-experiences-on-web-uis-29534d2d92a8) 

Fatih Kadir Akın   

[Building an Audio Player App with Ionic, Angular, RxJS, and NgRx](https://auth0.com/blog/building-an-audio-player-app-with-ionic-angular-rxjs-and-ngrx/) — Uses Auth0 for the authentication. 

Indermohan Singh   

[What is JSX?](https://blog.kentcdodds.com/what-is-jsx-310ab98c463e) — 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](https://snipcart.com/blog/angular-seo-universal-server-side-rendering) 

Michael Poirier-Ginter   

▶[An Introduction to TensorFlow.js in Your Browser](https://www.youtube.com/watch?v=pbCExciEbrc&t=0s&list=PLQY2H8rRoyvwLbzbnKJ59NkZvQAW9wLbx&index=2&linkId=54155747) — An official introduction to using TensorFlow.js for machine learning in the browser. 

Laurence Moroney  

🔧 Code and Tools  

[10 JavaScript Animation Libraries Worth Investigating in 2018](https://hackernoon.com/10-javascript-animation-libraries-to-follow-in-2018-50ff1d905f43) — With summaries and, importantly, live interactive JSFiddle demos for most. 

Anton Shaleynikov   

[vue-wait: Loader and Progress Management for Vue and Nuxt Apps](https://github.com/f/vue-wait) 

Fatih Kadir Akın   

[Enjoy a Better Development Experience with Webstorm](https://www.jetbrains.com/webstorm/?utm_source=jsweekly&utm_medium=cpc&utm_campaign=webstorm) — Try smart code completion, refactorings, & integrated tools on your React, Angular & Vue projects. 

JetBrains sponsor   

[simple-keyboard: A Customizable, Responsive On-Screen Keyboard](https://github.com/hodgef/simple-keyboard) — [Live demo here.](https://franciscohodge.com/project-pages/simple-keyboard/demo/) 

Francisco Hodge   

[Reclare: A Declarative State and Logic Management Library](https://github.com/reclarejs/reclare) — Inspired by Redux and the Elm architecture. 

Reclare   

[carbon-now-cli: Create Beautiful Images of Code From Your Terminal](https://github.com/mixn/carbon-now-cli) — It’s a terminal client for the awesome [Carbon](https://carbon.now.sh/) tool. 

Miloš Sutanovac   

[Access DigitalOcean’s Quarterly Report on Developer Cloud Trends Now](https://www.digitalocean.com/currents/june-2018/?utm_source=paid_newsletter+javascript+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=7-13-18+javascript+weekly+cooperpress) 

DigitalOcean sponsor   

[9 CSS in JS Libraries You Should Know in 2018](https://blog.bitsrc.io/9-css-in-js-libraries-you-should-know-in-2018-25afb4025b9b) — Including Styletron, Emotion and Styled Components. 

Jonathan Saring     

😄 Some Bonus “They're Not JS But You'll Like 'Em” Links  

[vim.wasm: The Vim Editor, Ported to WebAssembly](https://rhysd.github.io/vim.wasm/) — Great demo and very fast, too. [Here's the code and an explanation of how it works.](https://github.com/rhysd/vim.wasm) 

Linda_pp   

[Kotlin on the Server at Khan Academy](http://engineering.khanacademy.org/posts/kotlin-adoption.htm) — 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.](https://webopsweekly.com/issues/174) 

Khan Academy Engineering   

[Web Architecture 101](https://engineering.videoblocks.com/web-architecture-101-a3224e126947?ref=abhimanyu) — If terms like 'load balancer', 'caching', or CDN are gibberish to you, you might appreciate this simple explanation. 

Jonathan Fulton   

[A 'div' That Looks Different In Each Major Browser](https://twitter.com/Martijn_Cuppens/status/1015169981368225793) — A neat demonstration of how specs don’t guarantee an identical result across browsers. Here’s [the CodePen](https://codepen.io/MartijnCuppens/pen/MXojmw) to try it for yourself. 

Martijn Cuppens on Twitter          

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
