SlideShare a Scribd company logo
1 of 112
Download to read offline
Tooling for the
productive front-end
developer
Maurice de Beijer
@mauricedb
Who am I?
 Maurice de Beijer
 The Problem Solver
 MicrosoftAzure MVP
 Freelance developer/instructor
 Twitter: @mauricedb and @React_Tutorial
 Web: http://www.TheProblemSolver.nl
 E-mail: maurice.de.beijer@gmail.com
2
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Where to get
scripts
Bower
NPM
Yarn
JSPM
Download and
copy 
Bower
NPM
JSPM
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Searching for
NPM packages
https://www.npmjs.com
https://npms.io
NPM
NPMS.IO
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
ECMAScript
2015 and
beyond
CoffeeScript
Babel
TypeScript
JSX
Flow
Dart
CoffeeScript
Babel
TypeScript
JSX
Flow
Dart
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Task runners
Grunt
Gulp
Broccoli
NPM Scripts
Grunt
Gulp
Broccoli
NPMScripts
NPM
Scripts
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Minification
uglify-js
clean-css
html-minifier
Uglify
CleanCSS
HTML Minifier
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Bundling
Browserify
SystemJS
Webpack
Rollup
jspm
Browserify
SystemJS
Webpack
Rollup
JSPM
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Chrome
DevTools
Console API
Pretty Print
Break on DOM modifications
Break on XHR
Break on Event Listener
Asynchronous stack trace
Timeline
Audits
Profiles
ConsoleAPI
Pretty Print
Pretty Print
Break on
DOM
modificatio
ns
Break on
XHR
Asynchronous
stack trace
Timeline
Audits
Profile
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Performance
testing
YSlow
WebPageTest
Chrome DevTools
Lighthouse
YSlow
WebPageTest
Chrome
timeline
Chrome audit
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
UnitTesting
Testem
Mocha
Jest
Chai
Chai-as-promised
Jsdom
Testem
Mocha
Jest
Chai
Chai as
promised
JS Dom
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
End 2 End
Testing
Selenium
Nightwatch
Browserstack
Selenium
Nightwatch
BrowserStack
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Code
generators
Angular CLI
Create ReactApp
Yeoman
Swagger
AngularCLI
Create React
App
Yeoman
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Linting
ESLint
JavaScript Standard Style
JavaScript Semi-Standard Style
TSLint
Stylelint
SonarQube
Code Climate
ESLint
JavaScript
StandardStyle
JavaScript
Semi-Standard
Style
TSLint
StyleLint
SonarQube
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
CSS
Less
SASS
Stylelint
scss-lint
PostCSS
Autoprefixer
LESS
SASS
SyleLint
SCSS Lint
PostCSS
Autoprefixer
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Online editor
JSFiddle
JSBin
Glitch
JS Fiddle
JS Bin
Glitch
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Tools I use with
GitHub
Zenhub
Refined GitHub
Shields
David
Greenkeeper
Travis CI
Codecov
Code Climate
Zenhub
Gulp-main-
bower-files
Shields
David
Greenkeeper
TravisCI
Codecov
CodeClimate
Overview
Where to get
scripts
Searching for NPM
packages
ECMAScript 2015
and beyond
Task runners
Minification
Bundling
Chrome DevTools
Performance
testing
UnitTesting
E2ETesting
Code generators
Linting
CSS
Online editor
Tools I use with
GitHub
Thank you
Maurice de Beijer - @mauricedb

More Related Content

What's hot

Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Mike McGarr
 

What's hot (20)

Reducing passive interruptions
Reducing passive interruptionsReducing passive interruptions
Reducing passive interruptions
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldos
 
QAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with AppiumQAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with Appium
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Introduction cypress
Introduction cypressIntroduction cypress
Introduction cypress
 
AngularJS Testing
AngularJS TestingAngularJS Testing
AngularJS Testing
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
 
Grunt Continuous Development of the Front End Tier
Grunt Continuous Development of the Front End TierGrunt Continuous Development of the Front End Tier
Grunt Continuous Development of the Front End Tier
 
CI
CICI
CI
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Dot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel TettelarDot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel Tettelar
 
GDG Morgantown, WV: Write code you can depend on!
GDG Morgantown, WV: Write code you can depend on!GDG Morgantown, WV: Write code you can depend on!
GDG Morgantown, WV: Write code you can depend on!
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
QA 4 python
QA 4 pythonQA 4 python
QA 4 python
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Intro to Puppeteer
Intro to PuppeteerIntro to Puppeteer
Intro to Puppeteer
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't Enterprise
 

Similar to Tooling for the productive front end developer

How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
Simplilearn
 

Similar to Tooling for the productive front end developer (20)

Tooling for the productive front end developer
Tooling for the productive front end developerTooling for the productive front end developer
Tooling for the productive front end developer
 
Tooling for the productive front-end developer
Tooling for the productive front-end developerTooling for the productive front-end developer
Tooling for the productive front-end developer
 
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
 
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with YeomanKickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman
 
Developing an Ember Test Strategy - EmberConf 2019
Developing an Ember Test Strategy - EmberConf 2019Developing an Ember Test Strategy - EmberConf 2019
Developing an Ember Test Strategy - EmberConf 2019
 
QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
 
Selenium.pptx
Selenium.pptxSelenium.pptx
Selenium.pptx
 
Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016
 
Opencast Admin UI - Tools and development setup
Opencast Admin UI - Tools and development setupOpencast Admin UI - Tools and development setup
Opencast Admin UI - Tools and development setup
 
Selenium and Open Source Advanced Testing
Selenium and Open Source Advanced TestingSelenium and Open Source Advanced Testing
Selenium and Open Source Advanced Testing
 
Cypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
Cypress Test Techniques-Cucumber BDD Framework,TDD,API TestsCypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
Cypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
 
Code Review: An apple a day
Code Review: An apple a dayCode Review: An apple a day
Code Review: An apple a day
 
Containerized build
Containerized buildContainerized build
Containerized build
 
Ember. it is time to try
Ember. it is time to tryEmber. it is time to try
Ember. it is time to try
 
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 MinutesUsing Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
 
Release and-dependency-management memphis python
Release and-dependency-management memphis pythonRelease and-dependency-management memphis python
Release and-dependency-management memphis python
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
 

More from Maurice De Beijer [MVP]

More from Maurice De Beijer [MVP] (20)

Practice TypeScript Techniques Building React Server Components App
Practice TypeScript Techniques Building React Server Components AppPractice TypeScript Techniques Building React Server Components App
Practice TypeScript Techniques Building React Server Components App
 
A foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software ProjectA foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software Project
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
 
Build reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressBuild reliable Svelte applications using Cypress
Build reliable Svelte applications using Cypress
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18
 
Building reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and AzureBuilding reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and Azure
 
Building large and scalable mission critical applications with React
Building large and scalable mission critical applications with ReactBuilding large and scalable mission critical applications with React
Building large and scalable mission critical applications with React
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
Building reliable web applications using Cypress
Building reliable web applications using CypressBuilding reliable web applications using Cypress
Building reliable web applications using Cypress
 
Getting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent renderingGetting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent rendering
 
React suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred HitchcockReact suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred Hitchcock
 
From zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScriptFrom zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
The new React
The new React The new React
The new React
 
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScriptFrom zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
I am hooked on React
I am hooked on ReactI am hooked on React
I am hooked on React
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apis
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Tooling for the productive front end developer