The main feature of Autoprefixer 8.0 is Browserslist 3.0. In the new version, it brings new default browsers. It will affect you only if you don’t change browsers by .browserslistrc or browserslist key in package.json (we don’t recommend to use browsers option).

In one hand, Browserslist 3.0 usage statistics limit for default browsers was reduced from >1% to >0.5%. In another hand, we remove dead browsers from default browsers. The dead browser is a browser with < than 1% in the global market and who don’t have security updates. Right now IE 10 and BlackBerry browser are dead browsers.

Now that webpack is a #0CJS (Zero Configuration) out-of-the-box bundler, we will lay groundwork in 4.x and 5.0 to provide more default capabilities down the road.

You have to choose (mode or --mode) between two modes now: “production” or “development”.

Production Mode enables all sorts of optimizations out of the box for you. This includes, minification, scope hoisting, tree-shaking, side-effect-free module pruning, and includes plugins you would have to manually use like NoEmitOnErrorsPlugin.

Development Mode optimized for speed and developer experience. In the same way, we automatically include features like path names in your bundle output, eval-source-maps, that are meant for easy-to-read code, and fast build times!

A big update was released to the Vue devtools just a few days ago. Let’s dive into the new features and improvements! 🎄

You can now modify the data of your component directly in the Component inspector pane.

The content of the field is the serialized JSON value. For example, if you want to enter a string, type "hello" with the double-quotes. An array should look like [1, 2, "bar"] and an object like { "a": 1, "b": "foo" } .

Currently, the values of following types can be edited:

null and undefined

String

Literal: Boolean , Number , Infinity , -Infinity and NaN

Arrays

Plain objects

For the Arrays and Plain objects, you can add and remove items using the dedicated icons. You can also rename object keys.

HTML 5.2 has introduced a new <dialog> element for native modal dialog boxes. At first glance, it seems fairly straightforward (and it is), but as I’ve been playing around with it, I’ve found it has some nice features that might be easy to miss.

I’ve embedded a full working demo at the end of this article, but if you want to check it out as you read along, you can see it here.

Here is the markup for a basic dialog box:

<dialog open> Native dialog box! </dialog>

The open attribute means that the dialog is visible. Without it, the dialog is hidden until you use JavaScript to make it appear. Before any styling is added, the dialog renders as follows:

A big update was released to the Vue devtools just a few days ago. Let’s dive into the new features and improvements! 🎄

You can now modify the data of your component directly in the Component inspector pane.

The content of the field is the serialized JSON value. For example, if you want to enter a string, type "hello" with the double-quotes. An array should look like [1, 2, "bar"] and an object like { "a": 1, "b": "foo" } .

Currently, the values of following types can be edited:

null and undefined

String

Literal: Boolean , Number , Infinity , -Infinity and NaN

Arrays

Plain objects

For the Arrays and Plain objects, you can add and remove items using the dedicated icons. You can also rename object keys.

ES2015 was the most important improvement to Javascript in years. Among many great features it brought brand new module system — Ecma Script Modules which finally solved the problem of sharing code between files (modules) on a language level. It was a huge step forward but it needed to work with already existing modules, especially CommonJS used by node (require). That’s why it required some compromises, one of them is the existence of default exports. In this article, I want to explain why here at Neufund, we decided to ban default exports and use solely named ones.

Default exports don’t export any name ie. symbol that can be easily associated with a exported value. Named exports, on the other hand, are all about having a name (pretty obvious right 😂) . This makes possible for IDEs to find and import dependencies for you automatically, which is a huge productivity boost.

We are pleased to announce version 5.0.0 of Angular, pentagonal-donut. This is a major release containing new features and bugfixes. This release continues our focus on making Angular smaller, faster, and easier to use.

Here’s a breakdown of some of the biggest changes in v5. For the full list, please see the changelog.

As of 5.0.0, production builds created with the CLI will now apply the build optimizer by default.

The build optimizer is a tool included in our CLI for making your bundles smaller using our semantic understanding of your Angular application.

The build optimizer has two main jobs. First, we are able to mark parts of your application as

The Angular CLI is a command-line interface for building Angular applications, and over the last year it has become one of the most essential tools in an Angular developer’s toolbox.

The CLI is responsible for automating away many of the challenges and headaches that come with being a developer in 2017. By starting with a configuration that works out of the box, baking in best practices that have been discovered by the community over time, and by helping you build more maintainable code, the CLI exposes some of the most powerful capabilities of Angular in a way that is easier to get started, and easier to get moving quickly when compared to rolling everything together yourself.

The Flexbox Layout officially called CSS Flexible Box Layout Module is new layout module in CSS3 made to improve the items align, directions and order in the container even when they are with dynamic or even unknown size. The prime characteristic of the flex container is the ability to modify the width or height of its children to fill the available space in the best possible way on different screen sizes.

Many designers and developers find this flexbox layout easier to use, as positioning of the elements is simpler thus more complex layouts can be achieved with less code, leading to simpler development process. Flexbox layout algorithm is direction based unlike the block or inline layout which are vertically and horizontally based. This flexbox layout should be used for small application components, while new

As internet continues to become the prime medium for information and services, organizations are additionally trying to upgrade their potential on the international stage to ensure flexibility and adaptability to customer prerequisites. Many organizations run their websites / web applications with multiple languages in order to serve diverse user base across the globe. As multilingual website design on any platform makes it more accessible to people everywhere throughout the globe, it is highly significant. Multilingual website offers content that has been translated into one or more foreign languages in order to serve the needs of people in global markets. Angular is one of the most prominently used technology for the front end developments of such interactive web applications and leverages multilingual capacity.

Today, CSS preprocessors are a standard for web development. One of the main advantages of preprocessors is that they enable you to use variables. This helps you to avoid copying and pasting code, and it simplifies development and refactoring.

We use preprocessors to store colors, font preferences, layout details — mostly everything we use in CSS.

But preprocessor variables have some limitations:

You cannot change them dynamically.

They are not aware of the DOM’s structure.

They cannot be read or changed from JavaScript.

As a silver bullet for these and other problems, the community invented CSS custom properties. Essentially, these look and work like CSS variables, and the way they work is reflected in their name.

For Node.js developers, npm is an everyday tool. It's literally something we interact with multiple times on a daily basis, and it's one of the pieces of the ecosystem that's led to the success of Node.js.

One of the most useful, important, and enabling aspects of the npm CLI is that its highly configurable. It provides an enormous amount of configurability that enables everyone from huge enterprises to individual developers to use it effectively.

One part of this high-configurability is the .npmrc file. For a long time I'd seen discussion about it - the most memorable being the time I thought you could change the name of the

In this post I will describe how I think about the functional code from the user's perspective.

The Problem

How do you access nested properties in an object? Let us say we have an object with user comments and we want to get comments for the first post

What happens if a deeply nested property does not exist? The program crashes and burns!

Manual solution

So we need to check at every step if a property exists before accessing it. It gets tedious really really quickly. We can write a helpful utility function for safely getting a property. Just give this function a path and it will get you the deep value

A full-featured framework for building command line applications (cli) with node.js, including help generation, colored output, verbosity control, custom logger, coercion and casting, typos suggestions, and auto-complete for bash/zsh/fish.

Install

Simply add Caporal as a dependency:

npm install caporal --save // Or if you are using yarn (https://yarnpkg.com/lang/en/) yarn add caporal --save

Glossary

Program: a cli app that you can build using Caporal

Command: a command within your program. A program may have multiple commands.

Argument: a command may have one or more arguments passed after the command.