Last month JavaScript news: releases, updates, agreements and many more about JS technologies.

Vue.js 2.5

  • Official Roadmap
    • There is now an official Vue.js roadmap (details here )
  • Improved TypeScript support
    • Now, as a result, in Vue 2.5 you can get builtin autocomplete suggestions and type hints even if you’re not using TypeScript. This works with any editor that supports the language-server-protocol.
  • Functional Single-File-Components
    • Templates now support the functional attribute, which means it is now possible to write functional components without using render functions or JSX directly.
//Normal Component
      <template>
         <p>{{myProp}}</p>
      </template>
//Functional Component
      <template functional>
         <p>{{props.myProp}}</p>
      </template>
  • Injected properties can now declare default values in the same way as props can.
  • Over 15 bugs were fixed.

And many more here.

Node v8.7.0, v8.8.0, v8.9.0 && Node v9.0.0 (Current)

  • Node.js 8.x is now in LTS!
    • Node v8.9.0 marks the transition of Node v8.x into Long Term Support (LTS), with the codename "Carbon". The v8.x line now moves into "Active LTS", and will remain so until April 2019.
  • For Node.js 9, most changes centered on the migrating the code base to a new error system. The goal of the migration is associating a unique code with errors thrown by the system.
    • An async hooks module that provides an API for registering callbacks to track asynchronous resources within an application.
    • The Google V8 6.2 JavaScript engine.
    • Support for HTTP/2, which are available for use without a command line flag
      but are still experimental.


Find more details here and here.

The Firefox Quantum released

  • Firefox Quantum is over twice as fast as Firefox from 6 months ago;
  • New User Interface - Photon UI;
  • Google became new default search provider in the United States and Canada;
  • WebRender:
  • Firefox-Quantum.jpg
    Find more details here, here and here.

The Firefox Quantum. WebRender

With WebRender apps run at a silky smooth 60 frames per second (FPS) or better no matter how big the display is or how much of the page is changing from frame to frame.

Firefox-Quantum_WebRender.jpg
Read more on how WebRender works here.

Bringing WebVR to everyone with the Windows 10 Fall Creators Update

On October 17th, EdgeHTML 16 was released with Windows 10 Fall Creators Update, and the era of Windows Mixed Reality begins.
Adding support to the browser is only half of the story. Microsoft have been working with 3rd party middleware libraries to make sure that integrating support for motion controllers into your experience is as seamless a process as possible.

More here.

Angular 5 Comes with Faster Incremental Compilation

Build Optimization. CLI 1.5 will generate v5 projects with build optimization turned on by default, generating smaller bundles

Compiler. The Angular compiler supports incremental builds, managing to reduce the build time by 90% in tests on real projects by using Typescript transforms.

Domino. Angular now supports Domino, a server-side DOM implementation, adding support for more component JavaScript libraries to the server side.

Internationalization. Angular 5 has new pipes for date, number and currency for better internationalization support across browsers.

The latest Angular introduces some breaking changes, but nothing problematic. One of them is the dependence on TypeScript 2.4.x. Also, some code sections have been deprecated.

Read more here and here.

Chrome 63 Beta

Dynamic module imports

import('./dialogBox.js')
         .then(dialogBox => {
           dialogBox.open();
         })
         .catch(error => {
           /* Error handling */
         });

Async iterators and generators

for await (const chunk of
         streamAsyncIterator(response.body)) {
           streamAsyncIterator(response.body)) {
               // some code...
         }

Permissions UI changes

    • From ignorable banners at the bottom of the screen to modal dialogs.

Device Memory API

    • The new Device Memory JavaScript API helps developers with this challenge by using the total RAM on a user’s machine to provide insights into device constraints.

Read more here.

Snyk is Now Integrated with Chrome's Lighthouse

Lighthouse is an open-source automated tool from Google Chrome that tests websites against a suite of best-practices and metrics, providing a detailed report so developers can see exactly how they stack up, and how to improve.

Snyk is now powering the brand-new vulnerable JavaScript audit in Google Chrome’s Lighthouse, the auditing tool built by the Google Chrome team that checks for how performance, accessible and secure your site is.

Snyk.jpg
Read more here.

WebStorm 2017.3

  • Improvements in webpack support - webStorm now understands webpack configuration files that are composed of several parts or have multiple targets.
  • Suggestion to install TypeScript type declarations.
  • Optimizing project indexing.
  • Updated Live Edit configuration.
  • Improved Angular support.

Read more here and here.

V8 Release 6.3

Every six weeks, a new branch of V8 is created as part of release process. Newest branch was announced, V8 version 6.3, which is in beta until its release in coordination with Chrome 63 Stable in several weeks.

Speed:

    • The parser now does not need to preparse a function a second time.
    • string.js has been completely ported to CodeStubAssembler. As a developer this means that builtin string functions like String#trim are a lot faster starting with 6.3.

ECMAScript language features. V8 shipped the following stage 3 features: Dynamic module import via import(), Promise.prototype.finally and async iterators/generators.

Read more here.

Microsoft, Google, and Mozilla Team Up for Web Documentation

  • In a coordinated announcement, three major browser vendors have agreed to consolidate their individual web API reference documentation into Mozilla's MDN and have formed an advisory group to guide future efforts.
  • In a blog post from Microsoft, senior dev writer Erika Doyle Navara wrote that they have "started redirecting over 7,700 MSDN pages to corresponding topics in the MDN web docs library" and have made 5,000 edits on MDN to update the compatibility tables for Edge.
  • MDN is a wiki, and developers can login with a GitHub account to make changes. Mozilla says that this year "8,021 users made 76,203 edits".

Read more here.

Microsoft adds multithreading to Node.js for compute-heavy apps

Microsoft’s beta Napa.js runtime is offering multithreaded support for the Node.js server-side JavaScript platform, to provide the flexibility of JavaScript with speedy performance akin to C++’s.

Napa.js is a multi-threaded JavaScript runtime built on V8, which was originally designed to develop highly iterative services with non-compromised performance in Bing.

Napa.js also has:

  • A Node.js-compatible module architecture with support for NPM.
  • An API for object-sharing, and asynchronous processing capabilities on JavaScript threads.

Read more here.

NPM Releases New Security Features

  • Two-factor authentication (2FA);
  • Now, you can sync your npm account with an authentication application like Google Authenticator. When you log in, you’ll be prompted for a single-use numeric code generated by the app;
  • 2FA is another layer of defense for your account, preventing third parties from altering your code even if they steal or guess your credentials;
  • Read-only tokens;
  • If your continuous integration / continuous deployment (CI/CD) workflow includes linking your npm account to tools like Travis CI with authentication tokens, you can now create read-only tokens for tools that don’t need to publish. You can also restrict tokens to work from only specified ranges of IP addresses;
  • Even if your token is compromised — for example, if you accidentally commit it to GitHub — no one else can alter your code, and only authorized CI servers will be able to download your code.
  • NPM_qr_code_and_prompt_masked.jpg
    Read more here.

The 6-Step "Happy Path" to HTTPS

  1. Get a Free Cert
  2. Add a 301 "Permanent Redirect"
  3. Add HSTS
  4. Change Insecure Scheme References
  5. Add The upgrade-insecure-requests CSP
  6. Monitor CSP Reports
Happy-Path-to-HTTPS.jpg
Read more here and here.

7 Free Tools For Testing Responsive Layouts

  1. Xrespond
  2. Responsinator
  3. Responsive design checker
  4. Google mobile test
  5. Matt kersley’s responsive tool
  6. Am I responsive?
  7. Designmodo responsive test
Tools-For-Testing-Responsive-Layouts.jpg
Read more here.

5 Node.js Alternatives To WordPress

  • KeystoneJS is a powerful CMS framework, build on Express and MongoDB. It gives you an easy way to create dynamic projects with well-structured routes, templates and models.
  • EnduroJS offers a fast and easy way to build your project, beautiful and simple admin UI and integrated tools to build everything on the server. It works without a database, instead relying on a system of flat files that can be opened directly in a text editor. It is easy to install and can be deployed via Git.
  • Apostrophe offers powerful front and back-end search features, rich text editor, fast performance, and drag-and-drop editting right on the page. It is very user-friendly with detailed documentation and an active community.
  • Ghost is a modern and powerful blogging platform that you can already see on some popular websites. It is easy to set up and has simple and optimized design, focused on providing the best possible writing experience.
  • Hexo is a simple and powerful blogging framework where each post is written in markdown format and rendered into a static page with proper layout and styles.

Find out more here.

The Most Popular Programming Languages of 2017

The-Most-Popular-Programming-Languages-of-2017.jpg
Read more here.

That’s it for now. Stay tuned for next edition of JS digest!