All Projects β†’ kentcdodds β†’ Es6 Workshop

kentcdodds / Es6 Workshop

A very hands on πŸ‘ workshop πŸ’» about ES6 and beyond.

Programming Languages

javascript
184084 projects - #8 most used programming language
ecmascript
72 projects

Projects that are alternatives of or similar to Es6 Workshop

Testing Workshop
A workshop for learning how to test JavaScript applications
Stars: ✭ 1,276 (+286.67%)
Mutual labels:  workshop, kcd-edu
Advanced React Patterns
This is the latest advanced react patterns workshop
Stars: ✭ 1,899 (+475.45%)
Mutual labels:  workshop, kcd-edu
Asts Workshop
Improved productivity πŸ’― with the practical πŸ€“ use of the power πŸ’ͺ of Abstract Syntax Trees 🌳 to lint ⚠️ and transform πŸ”€ your code
Stars: ✭ 253 (-23.33%)
Mutual labels:  workshop, kcd-edu
kubernetes-workshop
Kubernetes Workshop
Stars: ✭ 35 (-89.39%)
Mutual labels:  workshop
rworkshops
Materials for R Workshops
Stars: ✭ 43 (-86.97%)
Mutual labels:  workshop
NSBudapestMeetup
Place for talk proposals @NSBudapest meetup, and archives of past events
Stars: ✭ 27 (-91.82%)
Mutual labels:  workshop
Learn You Php
πŸ† Learn You PHP! - An introduction to PHP's core features: i/o, http, arrays, exceptions and so on.
Stars: ✭ 304 (-7.88%)
Mutual labels:  workshop
robotic assembly workshop
Materials for the Robotic Assembly workshop using COMPAS framework
Stars: ✭ 18 (-94.55%)
Mutual labels:  workshop
Learn Generators
JavaScript ES(6|2015) generators workshopper. Learn in practice. 🀘
Stars: ✭ 257 (-22.12%)
Mutual labels:  workshop
GenomeAnalysisModule
Welcome to the website and github repository for the Genome Analysis Module. This website will guide the learning experience for trainees in the UBC MSc Genetic Counselling Training Program, as they embark on a journey to learn about analyzing genomes.
Stars: ✭ 19 (-94.24%)
Mutual labels:  workshop
pony-workshop
Material for a workshop for learning about the Pony programming language
Stars: ✭ 91 (-72.42%)
Mutual labels:  workshop
coldbox-zero-to-hero
ColdBox 120: From Zero to Hero Training
Stars: ✭ 16 (-95.15%)
Mutual labels:  workshop
SwiftAveiro
Skeleton project for my Swift Aveiro workshop "Everyone is an API designer"
Stars: ✭ 15 (-95.45%)
Mutual labels:  workshop
vim-workshop
My thorough introduction to Vim
Stars: ✭ 30 (-90.91%)
Mutual labels:  workshop
Choo Handbook
πŸš‚βœ‹πŸ“– - Learn the choo framework through a set of exercises
Stars: ✭ 266 (-19.39%)
Mutual labels:  workshop
graphql-workshop
Hands on workshop about GraphQL with React and Apollo πŸš€
Stars: ✭ 43 (-86.97%)
Mutual labels:  workshop
Pwa Fundamentals
πŸ‘¨β€πŸ« Mike & Steve's Progressive Web Fundamentals Course
Stars: ✭ 256 (-22.42%)
Mutual labels:  workshop
service-worker-exercises
Get started with Service Worker
Stars: ✭ 37 (-88.79%)
Mutual labels:  workshop
Kebab
Little ML'er in F#
Stars: ✭ 15 (-95.45%)
Mutual labels:  workshop
rxjava-workshop
1 day RxJava 2 hands-on workshop
Stars: ✭ 66 (-80%)
Mutual labels:  workshop

ES6-Workshop

slides-badge chat-badge Build Status License All Contributors

PRs Welcome Donate Code of Conduct Watch on GitHub Star on GitHub Tweet

Welcome

Welcome to this ES6 workshop. Our goal is to help everyone make strides towards learning the newest ES6 syntax, and how to use the latest constructs in JavaScript.

This repo is meant to be used in parallel with a lecture style presentation of the new features.

Thanks

Special thanks to Aaron Frost and Axel Rauschmayer for creating the original repo from which this is forked.

Your Goal

This repo is full of failing tests. The only way to get them to pass it by using your newly acquired knowledge of ES6 and all of the new features that are part of this latest release. For each test, you will need to write/rewrite to code using the latest ES6 syntax. Once all of your tests pass, you will want to move onto the next section.

By the time that the workshop is over (time permitting), all of your tests will be running and passing.

System Requirements

  • git
  • Node (at least version 8.9.4)
  • npm (at least version 5.6.0)

Setup

You will need to start by cloning this repo, then you'll run a simple setup script which will install all the dependencies and validate that you're ready to go. From your terminal, type:

git clone https://github.com/kentcdodds/es6-workshop.git
cd es6-workshop
yarn run setup
git commit -am "setup"

If this finishes without issues, great πŸ‘! However, if you have problems, please file an issue on this repo here.

How To Run Tests

Once you have everything installed, you are ready to run some tests. There are two directories with tests in them: exercises and exercises-final. The exercises-final directory is like a cheat sheet. All of the tests contain the required ES6 code to make the tests pass. You will need to edit the tests in the exercises directory, and make the tests pass.

To run the tests, in your terminal run:

yarn test

To run a specific test file, in your terminal run:

yarn test -- exercises/01_block-scoping.test.js

If you want the tests to continue running as you make changes, run:

yarn run test:watch

This will start jest in its interactive watch mode (learn more). If you see a bunch of failures, make sure you're in "only changed" mode by clicking the o key. There should not be any tests run at this point. Your job is to go into each test file in exercises and make the tests pass. As you make changes, jest will run the file's tests. Once you have written the required ES6 code, the tests will pass, and you can move on.

Also, during watch mode you can press the p key to filter for only the test file you want to run. You can even press the t key to filter for only the tests you want to run (by their test name). Note, that for these to work, you need to run all the tests first. Hit the a key to do that.

Note: You may prefer to run the test:changed script which will run the tests only once. This will allow you to avoid the "learning crutch" of immediate feedback that you get from the watch mode. But it's up to you!

Contributing

If you have any questions, let me know.

If you use this workshop, please Pull Request this README with a link to your event.

If you want to edit/update anything in the exercises, please make all changes in the templates directory. We're using split-guide, so the exercises and exercises-final directories are generated.

Events

Contributors

Thanks goes to these wonderful people (emoji key):


Aaron Frost

πŸ’» πŸ“– πŸ“’ ⚠️

Axel Rauschmayer

πŸ“’

Kent C. Dodds

πŸ’» πŸ“– πŸš‡ πŸ‘€ πŸ“’ ⚠️

Jim Cummins

πŸ“– ⚠️

Lindsey

πŸ“–

Marius Butuc

πŸ’»

Carlos Ortega

πŸ“–

Ryan Braganza

πŸ’»

Emrah Mehmedov

πŸ’» ⚠️

Arijit Layek

πŸ’»

Dhruv Mishra

πŸ’»

Bobby White

⚠️

Ben Ilegbodu

πŸ“– ⚠️

Thomas Greenhalgh

πŸ’»

Aaron Ang

πŸ’» πŸ“–

Daniela Yassuda

πŸ’»

Kyle West

πŸ’» ⚠️

Álvaro Salazar

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

LICENSE

This material is available for private, non-commercial use under the GPL version 3. If you would like to use this material to conduct your own workshop, please contact me at [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].