Course Outline


About Yeoman

Pre-requisites

  • The participants must be comfortable with programming in any one language.
  • Participants must have a basic understanding of scaffolding.

Duration

  • 2-3 Days

Lab Setup

Hardware Configuration

Participants must have access to a system with the following hardware configuration

  • 2GB of free RAM, 20GB of free disk space and full network connectivity

Software Configuration

  • Ubuntu 16.04 Desktop Edition (sudo/root access required)
  • Firefox and Chrome browsers

Course Outline

Using a Yeoman Generator
  • Set up the dev environment
  • Install a Yeoman generator
  • Use a generator to scaffold out an app
  • Understanding the Yeoman generated app directory structure
  • Previewing the app on the browser
  • Testing the app with Karma and Jasmine
  • Getting ready for production
Writing your own Generator
  • Setting up as node modules
  • Understanding the Folder tree
  • Extending Generators
  • Overwriting the constructor
  • Adding your own functionality
  • Running the generator
Generator Runtime context
  • Prototype methods as actions
  • Understanding the run loop
  • Asynchronous tasks
Interacting With The User
  • Prompts
  • Remembering user preferences
  • Arguments
  • Options
  • Outputting Information
Composability
  • Using the API
  • dependencies or peerDependencies
Managing Dependencies
  • Using npm
  • Using Yarn
  • Using Bower
  • Using a combination of tools
Working With The File System
  • Destination context
  • Template context
  • Using In-memory file system
  • File utilities
  • Transform output files through streams
Managing Configuration
  • Understanding the different generator methods
  • Understanding the .yo-rc.json structure
Testing Generators
  • Organizing your tests
  • Using Test helpers
  • Using Assertions helpers
  • i18n best practices
Integrating Yeoman
  • The basics
  • Using yeoman-environment
  • Finding installed generators
  • Getting data about registered generator

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.