# Babel

Babel is a JavaScript compiler and toolchain that converts modern ECMAScript code into backwards-compatible JavaScript.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Babel in Khan Academy's i18n Toolchain

DevFeed: [Babel in Khan Academy's i18n Toolchain](<https://devfeed.tech/articles/babel-in-khan-academy-s-i18n-toolchain-27381.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/i18n-babel-plugin.htm>)

Author: Khan Academy

Published: 2015-06-22T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Babel](<https://devfeed.tech/topics/babel.md>), [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [es6](<https://devfeed.tech/topics/es6.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Universal Syntax Tree.](<https://devfeed.tech/topics/unist.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [babel](<https://devfeed.tech/tags/babel.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [es6](<https://devfeed.tech/tags/es6.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [source](<https://devfeed.tech/tags/source.md>), [structure](<https://devfeed.tech/tags/structure.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tests](<https://devfeed.tech/tags/tests.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [types](<https://devfeed.tech/tags/types.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Khan Academy describes switching its ES6 and JSX frontend compilation from jstransform to Babel. The article explains a custom Babel plugin for preserving the project's internationalization behavior and discusses matching generated output, line numbers, whitespace, and the existing build chain.

### Source excerpt

By Kevin Barabash We've been using ES6 (along with JSX) for sometime at Khan Academy. Right now, we're ... Read more

## i18nize-templates: Internationalization After the Fact

DevFeed: [i18nize-templates: Internationalization After the Fact](<https://devfeed.tech/articles/i18nize-templates-internationalization-after-the-fact-27382.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/i18nize-templates.htm>)

Author: Khan Academy

Published: 2015-09-28T22:00:00Z

Content type: release

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [html](<https://devfeed.tech/tags/html.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [library](<https://devfeed.tech/tags/library.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Khan Academy describes retrofitting its English-only codebase for internationalization and localization across several HTML-rendering technologies. It introduces i18nize-templates, an open-source Python module that finds natural-language text in HTML and templates and marks it as i18n-aware. The tool supports raw HTML, jinja2, and Handlebars templates and reportedly reduces template annotation time by over 90%.

### Source excerpt

By Craig Silverstein Khan Academy started as a collection of videos, but now has over 100,000 pieces of ... Read more

## Nativewind: Speeding up Styling in React Native

DevFeed: [Nativewind: Speeding up Styling in React Native](<https://devfeed.tech/articles/nativewind-speeding-up-styling-in-react-native-20117.md>)

Original publisher: [Read original article](<https://hashrocket.com/blog/posts/nativewind-speeding-up-styling-in-react-native>)

Author: Jack Rosa

Published: 2025-11-13T14:00:00Z

Content type: tutorial

Language: en

Sources: [Hashrocket](<https://devfeed.tech/sources/hashrocket.md>)

Topics: [React Native](<https://devfeed.tech/topics/react-native.md>), [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Expo](<https://devfeed.tech/topics/expo.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Prettier](<https://devfeed.tech/topics/prettier.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [css](<https://devfeed.tech/tags/css.md>), [init](<https://devfeed.tech/tags/init.md>), [install](<https://devfeed.tech/tags/install.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [react](<https://devfeed.tech/tags/react.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [tailwind](<https://devfeed.tech/tags/tailwind.md>), [tailwind-css](<https://devfeed.tech/tags/tailwind-css.md>), [tailwindcss](<https://devfeed.tech/tags/tailwindcss.md>)

### AI overview

A tutorial on using NativeWind to style React Native applications with Tailwind CSS classes. It explains NativeWind's runtime or Babel-plugin compile-time translation into React Native styles, and covers setup with Expo, Tailwind configuration, a global CSS file, and Babel.

### Source excerpt

How Nativewind can speed up your React Native Development If you're anything like me, after working on a few web projects with Tailwind, it can feel like a drag to return to stacks that use other styling libraries. Tailwind has become, for myself, and many other developers, a standard styling paradigm. When starting my most recent React Native project, I was relieved to find out that NativeWind exists. NativeWind is exactly what is sounds like: Tailwind Classes in React Native. I can attest to the breeziness of writing an entire native app without a single call to StyleSheet.create. It's Familiar Nativewind takes the familiar classes of Tailwind CSS directly to your React Native components. Virtually every* class from Tailwind CSS can be used the exact same way on your mobile app (and the web), and the development results end up being faster iteration, less translating, and components that feel more readable and maintainable. Let's look at how to set it up NativeWind translates Tailwind class names into React Native styles at runtime or compile-time, if you use the Babel plugin. You end up with the the same composable mindset of Tailwind, but the output is just React Native styles. The setup is simple enough, for my latest project we used expo: npx expo install nativewind react-native-reanimated@~3.17.4 react-native-safe-area-context@5.4.0 npx expo install --dev tailwindcss@^3.4.17 prettier-plugin-tailwindcss@^0.5.11 Now to generate a tailwind config, run: npx tailwindcss init Be sure to include the path to your components in the generated tailwind.config.js file /** @type {import('tailwindcss').Config} */ module.exports = { content: ["./App.tsx", "./components/**/*.{js,jsx,ts,tsx}"], presets: [require("nativewind/preset")], theme: { extend: {}, }, plugins: [], } Next create your global.css file with tailwind's directives @tailwind base; @tailwind components; @tailwind utilities; Then, enable the Babel plugin in babel.config.js: module.exports = function (api) { api

## Next.js 15 RC

DevFeed: [Next.js 15 RC](<https://devfeed.tech/articles/next-js-15-rc-3206.md>)

Original publisher: [Read original article](<https://nextjs.org/blog/next-15-rc>)

Author: Zack Tanner

Published: 2024-05-23T17:00:00Z

Content type: release

Language: en

Sources: [Next.js Blog](<https://devfeed.tech/sources/next-js-blog.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [React](<https://devfeed.tech/topics/react.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [build times](<https://devfeed.tech/topics/build-times.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [caching](<https://devfeed.tech/tags/caching.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [errors](<https://devfeed.tech/tags/errors.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

The Next.js 15 Release Candidate is available for testing ahead of the stable release. It adds React 19 RC support, experimental React Compiler support, improved hydration error displays, changes caching defaults, experimental Partial Prerendering, post-response code execution, Turbopack configuration updates, and stable external package bundling options.

### Source excerpt

The Next.js 15 Release Candidate (RC) is now available. This early version allows you to test the latest features before the upcoming stable release.

## Vue 2.7 is Now in Beta

DevFeed: [Vue 2.7 is Now in Beta](<https://devfeed.tech/articles/vue-2-7-is-now-in-beta-3005.md>)

Original publisher: [Read original article](<https://blog.vuejs.org/posts/vue-2-7-beta>)

Published: 2022-06-20T00:00:00Z

Content type: release

Language: en

Sources: [The Vue Point](<https://devfeed.tech/sources/the-vue-point.md>)

Topics: [Vue.js](<https://devfeed.tech/topics/vue.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [browser](<https://devfeed.tech/tags/browser.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [features](<https://devfeed.tech/tags/features.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vue](<https://devfeed.tech/tags/vue.md>)

### AI overview

This release announcement presents Vue 2.7 as a beta that backports important Vue 3 features, including the Composition API, SFC support, and SFC CSS v-bind. It also describes supported APIs, ESNext syntax in template expressions, and behavior differences and limitations caused by Vue 2's getter/setter-based reactivity system.

### Source excerpt

We are happy to announce that Vue 2.7 is now in beta.

## Next.js 11.1

DevFeed: [Next.js 11.1](<https://devfeed.tech/articles/next-js-11-1-3167.md>)

Original publisher: [Read original article](<https://nextjs.org/blog/next-11-1>)

Author: Tobias Koppers

Published: 2021-08-11T16:00:00Z

Content type: release

Language: en

Sources: [Next.js Blog](<https://devfeed.tech/sources/next-js-blog.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [Security](<https://devfeed.tech/topics/security.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [ESLint](<https://devfeed.tech/topics/eslint.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [build-performance](<https://devfeed.tech/tags/build-performance.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [performance](<https://devfeed.tech/tags/performance.md>), [phishing](<https://devfeed.tech/tags/phishing.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Next.js 11.1 improves build performance and introduces an important security patch for an open redirect. The release adds experimental ES Modules support, Rust-based SWC tooling, faster data fetching during pre-rendering, faster source maps, and ESLint integration.

### Source excerpt

Next.js 11.1 introduces an important security patch, ES Modules support, performance improvements, Rust-based tooling, 2x faster data fetching when pre-rendering, and more!

## Introducing the New JSX Transform

DevFeed: [Introducing the New JSX Transform](<https://devfeed.tech/articles/introducing-the-new-jsx-transform-22341.md>)

Original publisher: [Read original article](<https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html>)

Published: 2020-09-22T00:00:00Z

Content type: article

Language: en

Sources: [React](<https://devfeed.tech/sources/react.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This React 17 article introduces a rewritten JSX transform supported by Babel and TypeScript. The optional upgrade allows JSX without importing React, may slightly reduce compiled bundle size depending on the setup, and preserves the existing JSX syntax and older transform.

### Source excerpt

This blog site has been archived. Go to react.dev/blog to see the recent posts. Although React 17 doesn't contain new features, it will provide support for a new version of the JSX transform. In this post, we will describe what it is and how to try it. What's a JSX Transform? Browsers don't understand JSX out of the box, so most React users rely on a compiler like Babel or TypeScript to transform JSX code into regular JavaScript. Many preconfigured toolkits like Create React App or Next.js also include a JSX transform under the hood. Together with the React 17 release, we've wanted to make a few improvements to the JSX transform, but we didn't want to break existing setups. This is why we worked with Babel to offer a new, rewritten version of the JSX transform for people who would like to upgrade. Upgrading to the new transform is completely optional, but it has a few benefits: With the new transform, you can use JSX without importing React. Depending on your setup, its compiled output may slightly improve the bundle size. It will enable future improvements that reduce the number of concepts you need to learn React. This upgrade will not change the JSX syntax and is not required. The old JSX transform will keep working as usual, and there are no plans to remove the support for it. React 17 RC already includes support for the new transform, so go give it a try! To make it easier to adopt, we've also backported its support to React 16.14.0, React 15.7.0, and React 0.14.10. You can find the upgrade instructions for different tools below. Now let's take a closer look at the differences between the old and the new transform. What's Different in the New Transform? When you use JSX, the compiler transforms it into React function calls that the browser can understand. The old JSX transform turned JSX into React.createElement(...) calls. For example, let's say your source code looks like this: import React from 'react'; function App() { return <h1>Hello World</h1>; } Under t

## React v16.13.0

DevFeed: [React v16.13.0](<https://devfeed.tech/articles/react-v16-13-0-22339.md>)

Original publisher: [Read original article](<https://reactjs.org/blog/2020/02/26/react-v16.13.0.html>)

Published: 2020-02-26T00:00:00Z

Content type: release

Language: en

Sources: [React](<https://devfeed.tech/sources/react.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

React 16.13.0 is released with bug fixes and new development warnings. The release warns about state updates during another component's render, conflicting CSS shorthand and longhand rules, deprecated string refs, and the legacy React.createFactory helper.

### Source excerpt

This blog site has been archived. Go to react.dev/blog to see the recent posts. Today we are releasing React 16.13.0. It contains bugfixes and new deprecation warnings to help prepare for a future major release. New Warnings Warnings for some updates during render A React component should not cause side effects in other components during rendering. It is supported to call setState during render, but only for the same component. If you call setState during a render on a different component, you will now see a warning: Warning: Cannot update a component from inside the function body of a different component. This warning will help you find application bugs caused by unintentional state changes. In the rare case that you intentionally want to change the state of another component as a result of rendering, you can wrap the setState call into useEffect. Warnings for conflicting style rules When dynamically applying a style that contains longhand and shorthand versions of CSS properties, particular combinations of updates can cause inconsistent styling. For example: <div style={toggle ? { background: 'blue', backgroundColor: 'red' } : { backgroundColor: 'red' } }> ... </div> You might expect this <div> to always have a red background, no matter the value of toggle. However, on alternating the value of toggle between true and false, the background color start as red, then alternates between transparent and blue, as you can see in this demo. React now detects conflicting style rules and logs a warning. To fix the issue, don't mix shorthand and longhand versions of the same CSS property in the style prop. Warnings for some deprecated string refs String Refs is an old legacy API which is discouraged and is going to be deprecated in the future: <Button ref="myRef" /> (Don't confuse String Refs with refs in general, which remain fully supported.) In the future, we will provide an automated script (a "codemod") to migrate away from String Refs. However, some rare cases can't be

## trivago renews investment in Webpack and Babel and announces an Open Source conference

DevFeed: [trivago renews investment in Webpack and Babel and announces an Open Source conference](<https://devfeed.tech/articles/open-source-trivago-27979.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2019-11-20-opensourcetrivago/>)

Author: Patrick Gotthardt Follow

Published: 2019-11-20T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [conference](<https://devfeed.tech/tags/conference.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [modern-web-development](<https://devfeed.tech/tags/modern-web-development.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [talks](<https://devfeed.tech/tags/talks.md>), [web-development](<https://devfeed.tech/tags/web-development.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

trivago announces that it will continue investing in Babel and Webpack for another year and will host the "Open Source? Trivago." conference in Düsseldorf on December 2, 2019.

### Source excerpt

When we announced our renewal of our investment in Webpack and Babel last year, I found a tweet from Guillermo Rauch, CEO of zeit.co, one of the most int...

## Using Tailwind CSS with Gatsby, React & Emotion Styled Components

DevFeed: [Using Tailwind CSS with Gatsby, React & Emotion Styled Components](<https://devfeed.tech/articles/using-tailwind-css-with-gatsby-react-emotion-styled-components-31316.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/using-tailwind-css-with-gatsby-react-emotion-styled-components>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-10-20T14:08:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [gatsby](<https://devfeed.tech/topics/gatsby.md>), [React](<https://devfeed.tech/topics/react.md>), [styled-components](<https://devfeed.tech/topics/styled-components.md>), [CSS](<https://devfeed.tech/topics/css.md>), [PostCSS](<https://devfeed.tech/topics/postcss.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [components](<https://devfeed.tech/tags/components.md>), [css](<https://devfeed.tech/tags/css.md>), [css-in-js](<https://devfeed.tech/tags/css-in-js.md>), [emotion](<https://devfeed.tech/tags/emotion.md>), [gatsby](<https://devfeed.tech/tags/gatsby.md>), [insights](<https://devfeed.tech/tags/insights.md>), [learn](<https://devfeed.tech/tags/learn.md>), [postcss](<https://devfeed.tech/tags/postcss.md>), [project](<https://devfeed.tech/tags/project.md>), [react](<https://devfeed.tech/tags/react.md>), [styled](<https://devfeed.tech/tags/styled.md>), [styled-components](<https://devfeed.tech/tags/styled-components.md>), [tailwind](<https://devfeed.tech/tags/tailwind.md>), [tailwind-css](<https://devfeed.tech/tags/tailwind-css.md>), [utility-first](<https://devfeed.tech/tags/utility-first.md>)

### AI overview

A tutorial on combining Tailwind CSS with Gatsby and React through Emotion Styled Components. It explains a hybrid setup using twin.macro for component-level Tailwind styles and PostCSS for Tailwind's base and global styles.

### Source excerpt

Learn how to use the utility-first Tailwind CSS with Emotion "CSS-in-JS" Styled Components in a Gatsby JS + React project.

## Presenting babel-plugin-cloudinary

DevFeed: [Presenting babel-plugin-cloudinary](<https://devfeed.tech/articles/presenting-babel-plugin-cloudinary-27971.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2019-04-02-babelplugincloudinary/>)

Author: Daniel Caldas Software Engineer; Goodguydaniel Com

Published: 2019-04-02T00:00:00Z

Content type: release

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Babel](<https://devfeed.tech/topics/babel.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Image processing](<https://devfeed.tech/topics/image-processing.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [cloudinary](<https://devfeed.tech/tags/cloudinary.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [image-processing](<https://devfeed.tech/tags/image-processing.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

trivago presents trivago/babel-plugin-cloudinary, an open-source Babel plugin that compiles Cloudinary URL transformations at build time. The article explains its motivation, development history, and approach for avoiding the need to ship the Cloudinary SDK in the client bundle.

### Source excerpt

I'm happy to let you know that we are releasing trivago/babel-plugin-cloudinary to the open source community! Throughout this...

## Next.js 7

DevFeed: [Next.js 7](<https://devfeed.tech/articles/next-js-7-3240.md>)

Original publisher: [Read original article](<https://nextjs.org/blog/next-7>)

Author: Tim Neutkens

Published: 2018-09-19T16:05:55Z

Content type: release

Language: en

Sources: [Next.js Blog](<https://devfeed.tech/sources/next-js-blog.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>)

Tags: [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [debug](<https://devfeed.tech/tags/debug.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [performance](<https://devfeed.tech/tags/performance.md>), [releases](<https://devfeed.tech/tags/releases.md>), [ssr](<https://devfeed.tech/tags/ssr.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

Next.js 7 is presented as a production-ready release after 26 canary releases and 3.4 million downloads. It improves development speed and developer experience, adds better error reporting, upgrades the build pipeline to Webpack 4 and Babel 7, standardizes dynamic imports, supports static CDNs, reduces the initial HTML payload, and adds React Context with server-side rendering between the App and Pages.

### Source excerpt

After 26 canary releases and 3.4 million downloads, we are proud to introduce the production-ready Next.js 7

## trivago Offers Three Community Spots in Kyle Simpson's Five-Day JavaScript Workshop

DevFeed: [trivago Offers Three Community Spots in Kyle Simpson's Five-Day JavaScript Workshop](<https://devfeed.tech/articles/win-a-spot-in-a-5-day-javascript-workshop-with-kyle-simpson-27959.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2018-07-23-kyle-simpson-workshop/>)

Author: Tom Bartel

Published: 2018-07-23T00:00:00Z

Content type: news

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [competition](<https://devfeed.tech/tags/competition.md>), [contributors](<https://devfeed.tech/tags/contributors.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [github](<https://devfeed.tech/tags/github.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [webpack](<https://devfeed.tech/tags/webpack.md>), [workshop](<https://devfeed.tech/tags/workshop.md>)

### AI overview

trivago announced three community spots in Kyle Simpson's five-day JavaScript workshop. JavaScript enthusiasts can enter by submitting a useful pull request to either Babel or webpack and then registering through the sign-up form.

### Source excerpt

trivago is giving away 3 free spots in a workshop given by renowned author, instructor, and speaker Kyle Simpson (a.k.a. @getify). To be eligible, you only have to do two things...

## trivago Expands Sponsorships for webpack and Babel

DevFeed: [trivago Expands Sponsorships for webpack and Babel](<https://devfeed.tech/articles/in-an-open-source-world-everyone-wins-here-s-why-28072.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/expand-oss-sponsoring/>)

Author: Patrick Gotthardt Follow

Published: 2018-07-17T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Babel](<https://devfeed.tech/topics/babel.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [community](<https://devfeed.tech/tags/community.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

trivago announces expanded sponsorship of open source projects, continuing its webpack sponsorship and beginning sponsorship of the Babel community through Open Collective.

### Source excerpt

trivago believes that a sustainable Open Source ecosystem benefits developers, companies, and users alike.

## Next.js 6 and Nextjs.org

DevFeed: [Next.js 6 and Nextjs.org](<https://devfeed.tech/articles/next-js-6-and-nextjs-org-3236.md>)

Original publisher: [Read original article](<https://nextjs.org/blog/next-6>)

Author: Tim Neutkens

Published: 2018-05-16T21:04:04Z

Content type: release

Language: en

Sources: [Next.js Blog](<https://devfeed.tech/sources/next-js-blog.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [React](<https://devfeed.tech/topics/react.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [github](<https://devfeed.tech/tags/github.md>), [js](<https://devfeed.tech/tags/js.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [routing](<https://devfeed.tech/tags/routing.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

The article announces the production-ready Next.js 6 release and the launch of nextjs.org. It highlights zero-configuration static exports, automatic route-map generation, the new App Component, Babel 7 and Fragment syntax support, expanded integration tests focused on security, and Flow annotations in the core codebase.

### Source excerpt

Next.js 6 features zero-configuration static exports, App Component, Babel 7 and more

## Setting up Webpack, Babel and React from scratch, revisited

DevFeed: [Setting up Webpack, Babel and React from scratch, revisited](<https://devfeed.tech/articles/setting-up-webpack-babel-and-react-from-scratch-revisited-37372.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/webpack-babel-react-revisited/>)

Author: Stanko

Published: 2017-10-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

A step-by-step tutorial for setting up React projects from scratch with Webpack and Babel. It explains the tools, creates a minimal development setup, and begins configuring the project using npm and JavaScript.

### Source excerpt

Last summer I wrote this post which quickly became my most popular one to day. With webpack 2 and 3 it got outdated, so I decided to write a new one. Before we start # I'll assume you have a basic knowledge of unix terminal, npm and JavaScript. You did some React, but now you want to level up and learn how setup React projects from scratch. This is detailed step-by-step guide, as I'll try to explain the whole process. If you just want code to play with, check this repository I created for this tutorial. Every time I talk about changing a source file, I'll paste complete file's content beneath it. You can look for ADDED IN THIS STEP comments which point out specific things that changed. Please note that this tutorial is written on macOS using node 8.5.0, but it should work on Linux and Windows without any major issues. If you find something that is not working, please provide a correction in the comments below. What are we trying to build? # Simple development setup for React applications using Webpack and Babel. But my main goal is for people to better understand these tools and how to use them. Setup that we are going to create is minimal, but it follows the best practices and gives you a solid ground to start from. Who am I and why should you listen to me? # Well, I'm a principal developer at Work&Co. I have a lot of experience on production level React projects, for clients like Twitter, Mastercard, Aeromexico, Hampton Creek... Marvin boilerplateWe have big plans for Marvin in the near future. is my creation as well, and what I'm trying to teach you is directly based on my experience on these projects. Init # Create a new folder, and package.json file in it, with the following content: { "name": "webpack-babel-react-revisited" } Of course you can replace "webpack-babel-react-revisited" with your project name. - package.json Show file structure after this stepHide file structure after this step Webpack # We'll start with installing webpack for module bundling. It

## Deploying ES2015+ Code in Production Today

DevFeed: [Deploying ES2015+ Code in Production Today](<https://devfeed.tech/articles/deploying-es2015-code-in-production-today-29497.md>)

Original publisher: [Read original article](<https://philipwalton.com/articles/deploying-es2015-code-in-production-today/>)

Published: 2017-09-13T19:23:12Z

Content type: tutorial

Language: en

Sources: [Philip Walton](<https://devfeed.tech/sources/philip-walton.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es2015](<https://devfeed.tech/topics/es2015.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [async](<https://devfeed.tech/tags/async.md>), [await](<https://devfeed.tech/tags/await.md>), [babel](<https://devfeed.tech/tags/babel.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [classes](<https://devfeed.tech/tags/classes.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

The article explains how to deploy ES2015+ JavaScript to production by serving a modern bundle to browsers that support the relevant syntax and retaining an ES5 fallback for older browsers. It discusses feature detection, polyfills, module bundlers, and Babel configuration.

### Source excerpt

Most web developers I talk to these days love writing JavaScript with all the newest language features--async/await, classes, arrow functions, etc. However, despite the fact that all modern browsers can run ES2015+ code and natively support the features I just mentioned, most developers still transpile their code to ES5 and bundle it with polyfills to accommodate the small percentage of users still on older browsers.

## Setting up Webpack, Babel and React from scratch - Part 3

DevFeed: [Setting up Webpack, Babel and React from scratch - Part 3](<https://devfeed.tech/articles/setting-up-webpack-babel-and-react-from-scratch-part-3-37350.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/setting-up-webpack-babel-and-react-from-scratch-part-3/>)

Author: Stanko

Published: 2016-11-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [cli](<https://devfeed.tech/tags/cli.md>), [react](<https://devfeed.tech/tags/react.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

The final part of a Webpack, Babel, and React tutorial series explains why the series is ending, points readers to Create React App and a Webpack 2 boilerplate on GitHub, and encourages understanding the underlying tooling before using boilerplates.

### Source excerpt

Part three - also the last part # Other parts: Part 1 - Webpack, Babel, React, Router, ESLint Part 2 - SASS, more ES6 goodness (Static props, decorators, deconstruction...) Part 3 - Where to go from here Where to go from here # I really wanted to continue this series, but unfortunately whole JavaScript / Node community is moving so fast, that I found really hard to keep these tutorials up to date. Webpack 2 and React Hot Loader 3 are on the horizon. Some package versions break the other ones. Usual JavaScript business :) So I'll leave you with a link or two below. Create React App # Facebook released Create React App. That is a CLI tool for creating React apps with zero configuration. It is still missing some features, like universal rendering, decorators, SASS (or LESS), hot reload... But it is a really solid start, and backed up by the React team. My Webpack 2 boilerplate # Also, I just published Webpack 2 boilerplate on GitHub. It has a lot of nice features, check post about it on this blog. Thanks # Hope you found this series useful. Don't worry, blog will still be updated, but this series is over for now. And before using boilerplates, try making it yourself, so you understand the flow and the tooling behind it.

## Setting up Webpack, Babel and React from scratch - Part 2

DevFeed: [Setting up Webpack, Babel and React from scratch - Part 2](<https://devfeed.tech/articles/setting-up-webpack-babel-and-react-from-scratch-part-2-37349.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/setting-up-webpack-babel-and-react-from-scratch-part-2/>)

Author: Stanko

Published: 2016-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [React](<https://devfeed.tech/topics/react.md>), [es6](<https://devfeed.tech/topics/es6.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [css](<https://devfeed.tech/tags/css.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [sass](<https://devfeed.tech/tags/sass.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

Part two of a tutorial on setting up Webpack, Babel, and React covers adding SASS support, source maps, Autoprefixer, hot reloading, and additional ES6 features such as static class properties and decorators.

### Source excerpt

Part two # Update: Part two is pretty much done. Part three will cover redux and production builds. Other parts: Part 1 - Webpack, Babel, React, Router, ESLint Part 2 - SASS, More ES6 goodness (Static props, decorators, deconstruction...) Part 3 - Where to go from here Adding SASS # We will use SASS loader for webpack, so let's install it together with node-sass compiler, css and style loaders npm install --save-dev style-loader css-loader sass-loader node-sass Create scss folder in the app folder, and main app.scss file in it. This file will include all of the other scss files. Now we need to add a loader to webpack config file. ... { test: /\.scss$/, loader: 'style!css!sass' } ... This will handle importing SCSS files in our JavaScript code. So we need to import app.scss manually in the JavaScript code. You'll need to add only one line to your app.js. import '../scss/app.scss'; This includes your styles by calling loaders we defined in the webpack config. Restart your webpack, and voala, now we have styles and hot reloading for them. Try changing your styles to check it. Source maps # To enable source maps, we'll pass the sourceMap option to the sass and the css loaders. Enable devtool, and update the loader ... devtool: 'inline-source-map', // or 'source-map' module: { loaders: [ ... { test: /\.scss$/, loader: 'style!css?sourceMap!sass?sourceMap', } ] } ... If you want to read more, here's link to the official documentation Autoprefixer # Always use autoprefixer - I can't stress this enough. We'll need postcss loader, precss and autoprefixer npm install --save-dev postcss-loader precss autoprefixer At the top of our webpack config, require precss and autoprefixer const precss = require('precss'); const autoprefixer = require('autoprefixer'); Update our sass loader config and and postcss config ... module: { loaders: [ ... { test: /\.scss$/, loader: 'style!css?sourceMap!postcss!sass?sourceMap', } ] }, postcss() { return [autoprefixer, precss]; }, ... Restart webpa

## Setting up Webpack, Babel and React from scratch

DevFeed: [Setting up Webpack, Babel and React from scratch](<https://devfeed.tech/articles/setting-up-webpack-babel-and-react-from-scratch-37351.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/setting-up-webpack-babel-and-react-from-scratch/>)

Author: Stanko

Published: 2016-08-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [React](<https://devfeed.tech/topics/react.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [git](<https://devfeed.tech/tags/git.md>), [npm](<https://devfeed.tech/tags/npm.md>), [react](<https://devfeed.tech/tags/react.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

A step-by-step guide to setting up a React application with Webpack and Babel, including npm initialization, webpack configuration, and ES6/React transpilation. The article notes that its instructions are outdated for Webpack 2 and points readers to newer material.

### Source excerpt

Update, October 2017 # I just released updated tutorial right here. So feel free to skip this one, and read a new one. It uses updated tools, and hopefully it will grow into a new series of webpack/react posts. Update, March 2017 # Webpack 2 is out, so this post is slowly becoming outdated. For webpack 2 - react boilerplate please check this post. This is a living guide # This is the first part of the guide that will be changed over time. For now it covers Webpack, Babel (for ES6) and React with React Router. Next parts will contain more stuff - static properties, decorators, SASS, development and production configs, immutables... Also redux part should be updated really soon. So stay tuned! Other parts: Part 1 - Webpack, Babel, React, Router, ESLint Part 2 - SASS, more ES6 goodness (Static props, decorators, deconstruction...) Part 3 - Where to go from here Before we start # I'll assume that you have a basic knowledge of the unix terminal, and that you have read what Webpack, Babel and React are. Webpack # For a start, install node and npm from https://nodejs.org/en/. Make a git repo (this is optional, but recommended), or create an empty folder. Navigate to it in the terminal. Initialize npm (package.json) by running npm init Now we can start adding npm packages. Install babel core and it's loader for webpack. npm install --save-dev webpack webpack-dev-server Tip: you can use npm i instead of npm install. Create app/js/app.js with a simple console.log('hello world');. This will be the entry point for webpack. Now we need to create a webpack config file webpack.config.js. Tip: you can create files by using touch command - touch FILENAME module.exports = { context: __dirname + "/app", entry: "./js/app.js", output: { filename: "app.js", path: __dirname + "/dist", } }; It is important to understand what is going on so far. This tells webpack that our main application file (app.js) is the entry point, and bundled application should be outputted to the dist folder. __di

## Highlight variables in Atom, Babel template strings

DevFeed: [Highlight variables in Atom, Babel template strings](<https://devfeed.tech/articles/highlight-variables-in-atom-babel-template-strings-37281.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/highlight-vars-in-atom-babel-javascript/>)

Author: Stanko

Published: 2016-05-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Atom](<https://devfeed.tech/topics/atom.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Snippet](<https://devfeed.tech/topics/snippet.md>), [Less](<https://devfeed.tech/topics/less.md>)

Tags: [atom](<https://devfeed.tech/tags/atom.md>), [babel](<https://devfeed.tech/tags/babel.md>), [css](<https://devfeed.tech/tags/css.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [es6](<https://devfeed.tech/tags/es6.md>), [less](<https://devfeed.tech/tags/less.md>), [snippet](<https://devfeed.tech/tags/snippet.md>), [template-strings](<https://devfeed.tech/tags/template-strings.md>), [variable](<https://devfeed.tech/tags/variable.md>)

### AI overview

A guide to fixing an Atom Babel plugin issue where variables in ES6 template strings are not highlighted. It provides an Atom style.less snippet that styles JavaScript variables and explains how to inspect Atom's element classes for additional CSS or LESS customizations.

### Source excerpt

Atom Babel plugin doesn't highlight variables in ES6 (ES2015) template strings. You'll need to add this snippet to your Atom's style.less atom-text-editor::shadow .variable.js { color: #F8F8F2; } In general, you can just inspect stuff in Atom, find out what classes element are using, and then style it via CSS (LESS). Just don't forget to add atom-text-editor::shadow before your rules. If anyone is interested, I'm using Monokai Seti theme.

## ES2015 - Jump Start

DevFeed: [ES2015 - Jump Start](<https://devfeed.tech/articles/es2015-jump-start-21248.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2015/08/jump-start-es2015/>)

Published: 2015-08-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [browsers](<https://devfeed.tech/topics/browsers.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [transpilers](<https://devfeed.tech/tags/transpilers.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A learning article on ES2015 (ES6) covering browser compatibility, transpilers such as BabelJS and Traceur, browser-based tooling, and block scoping with let and const.

### Source excerpt

Lorem ipsum dolor sit amet

## JavaScript is evolving

DevFeed: [JavaScript is evolving](<https://devfeed.tech/articles/javascript-is-evolving-31991.md>)

Original publisher: [Read original article](<https://tech.finn.no2015/02/26/javascript-is-evolving/>)

Author: Tor Arne Kvaløy

Published: 2015-02-26T09:23:01Z

Content type: tutorial

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [polyfill](<https://devfeed.tech/topics/polyfill.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [browsers](<https://devfeed.tech/topics/browsers.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [feature](<https://devfeed.tech/tags/feature.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [polyfill](<https://devfeed.tech/tags/polyfill.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how ECMAScript 6 improves JavaScript with methods such as includes and find, new syntax such as arrow functions and scoped variables, and class support. It also describes using polyfills for older browsers and Babel to transpile newer syntax to ECMAScript 5.

### Source excerpt

As a die-hard java-developer for several years I was quite annoyed by the fact that Java as a language lagged several years behind C#. (E.g. Java got lambdas last year, 6 years after C#, so standards are nice for compatibility, but tends to be slow to evolve.) Polyfill Now, as a frontend-developer and getting to know JavaScript, I have realized that JavaScript is lagging even further behind. Take for example the everyday case of checking if a string contains another string: "hello world".indexOf("hello") > -1 //=> true This is awkward and you know it, however JavaScript is evolving. The next version ECMAScript 6 is in its final phase, and will have, among several features, the following method: "hello world".includes("hello") //=> true Another new nice feature is for finding the first item in an array. It used to be written like this: for(int i = 0; i < array.length; i++){ if(array[i].something === something){ return array[i]; } } And now it can be written like: array.find(it => it.something === something); ECMAScript 6 is feature complete, and is started to be supported by modern browser like Chrome, Firefox and Internet Explorer 11. As for older browsers, great polyfills like core-js come to our rescue. Transpile While polyfills extend current objects with new methods, ECMAScript 6 also contains new language syntax. Let's look at the arrow function (also known as fat arrow): ["one", "two", "three"].map(v => v + "!") Older browser will not understand "=>" (for a long time!), so this code has to be transpiled to ECMAScript 5: ["one", "two", "three"].map(function (v) { return v + "!"; }); There are some great transcompilation tools out there, and the one we have used is Babel. You can even play around with it here. Scoped variables JavaScript will also get scoped variables (let and const): const hello = "Hello" if(true) { const hello = "Inner scoped hello" } This will transpile to: var hello = "Hello"; if (true) { var _hello = "Inner scoped hello"; } Classes And fina