Yeoman (software)
Yeoman is an open source client-side scaffolding tool for web applications. Yeoman runs as a command-line interface written for Node.js and combines several functions into one place, such as generating a starter template, managing dependencies, running unit tests, providing a local development server, and optimizing production code for deployment.
Original author(s) | |
---|---|
Developer(s) | Addy Osmani,[1] Paul Irish,[2] Eric Bidelman,[3] Sindre Sorhus,[4] Simon Boudrias,[5] Pascal Hartig [6] |
Initial release | 22 August 2013[7] |
Stable release | 3.1.1
/ 27 November 2019[8] |
Repository | github |
Written in | JavaScript |
Operating system | Linux, macOS, Windows |
Platform | Node.js |
Type | Web development tool |
License | BSD-2-Clause[9][10] |
Website | yeoman |
Yeoman was released at Google I/O 2012.
Overview
Yeoman combines several open source tools in an attempt to streamline many aspects of the web development process.
Using a "generator" concept inspired by Ruby on Rails,[11] Yeoman first creates a basic project structure with vendor libraries included. The most basic Yeoman generator supplies the HTML5 Boilerplate, Normalize.css, the jQuery JavaScript library, and Modernizr as a basic template for developers. Yeoman also runs interactively, asking the developer if they would like additional components such as Twitter Bootstrap or RequireJS (a library to support Asynchronous Module Definition) included. More sophisticated generators exist, such as ones which scaffold out a client-side MVC (Model-View-Controller) framework, such as the AngularJS or Backbone JavaScript libraries. Yeoman is meant to be modular such that anyone can design a generator to create a template for a particular type of project.[12] More than 5600 generators[13] have been created by the open source community.
Beyond providing a template to scaffold projects, Yeoman also helps with intermediary phases of web application development. Yeoman lints code for potential problems using JSHint, runs unit tests, and provides a development server for working on an application. Finally, Yeoman also offers a build automation process featuring optimizations such as minification and concatenation of script files. All of these features use pre-configured tasks for the Grunt JavaScript task runner.
Yeoman is an open source project whose code is hosted on GitHub.[14] Some of the primary contributors are on the Google Chrome Developer Relations team, such as Addy Osmani, Paul Irish, and Eric Bidelman.[15]
References
- "Commits by addyosmani · yeoman/yo". Retrieved 2020-12-31.
- "Commits by paulirish · yeoman/yo". Retrieved 2020-12-31.
- "Commits by ebidel · yeoman/yo". Retrieved 2020-12-31.
- "Commits by sindresorhus · yeoman/yo". Retrieved 2020-12-31.
- "Commits by SBoudrias · yeoman/yo". Retrieved 2020-12-31.
- "Commits by passy · yeoman/yo". Retrieved 2020-12-31.
- "Release Date of Version 1.0.0". Retrieved 2020-12-31.
- "Releases · yeoman/yo". Retrieved 2020-12-31.
- "LICENSE file on GitHub". Retrieved 2020-12-31.
- "License field from browserify - npm". Retrieved 2020-12-31.
- Osmani, Addy. July 3rd, 2012. "Saving Time With Rails-Inspired Generators Yeoman Generators."
- yeoman.io, "Generate a Generator." Accessed July 30, 2013.
- "The web's scaffolding tool for modern webapps | Yeoman". yeoman.io. Retrieved 2020-03-08.
- "yeoman/yo". Retrieved 26 January 2014.
- "Contributors to yeoman/yo". Retrieved 26 January 2014.