SlideShare a Scribd company logo
1 of 12
Andrii Siusko
11/19/2013
GRUNT JS
Grunt JavaScript Automation for the Lazy Developer
Agenda
 What is grunt?
 Why Grunt?
 Who have been using it?
 How Do I Start?
 How Do I Use?
 Plugins
 Demo
 Questions
What is grunt?
Grunt is a task-based
command line build tool
for JavaScript projects.
• $ grunt less
• $ grunt csslint
• $ grunt jshint jslint
• $ grunt clean
• $ grunt watch
• $ grunt server
• $ grunt jasmine
• $ grunt dev production
Why Grunt?
• Open Source
• Large Community
• Hundreds of plugins
• Build your own (plugin)
• This is easy!
Who have been using it?
How Do I Start?
• node.js
npm {Node Packaged Modules} manages dependencies for
an application through the command line.
• npm install -g grunt-cli
this will put the grunt command in your system path, allowing it to be run from any
directory.
note: that installing grunt-cli does not install the grunt task runner!
• npm install grunt --save-dev
This will install the latest version of GRUNT in your project folder, adding it to your
devDependencies in package.json
note: way you can install the grunt plugins: npm install {module} --save-dev
http://nodejs.org/download/ http://gruntjs.com/getting-started
How Do I Use?
• package.json
• GruntFile.js
How Do I Use?
package.json
{
"name": "my-project-name",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.1.1",
"grunt-contrib-nodeunit": "~0.1.2"
}
}
How Do I Use?
• GruntFile.js
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
js: {
src: ['js/**/*.js', 'src/js/**/*.js'],
dest: ‘dev/js/app.js'
}
},
cssmin : { ... },
clean: { ... },
watch: { ... },
});
// loaded a task from a npm module
grunt.loadNpmTasks('grunt-contrib-cssmin');
//setup our workflow
grunt.registerTask("dev", ["concat:js", "cssmin"]);
}
Plugins
• JSHint/JSLint
• Minify
• Concatenate
• Watch
• LESS/SASS
• Stylus
• Imagemin
• Web-server
• Remove-logging
• …
Demo
Questions

More Related Content

What's hot

All Work Responsibilities in my whole Life-Testing Profession
All Work Responsibilities in my whole  Life-Testing  ProfessionAll Work Responsibilities in my whole  Life-Testing  Profession
All Work Responsibilities in my whole Life-Testing ProfessionGopi Raghavendra
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and GruntPeter deHaan
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Puppet
 
GraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerGraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerDiogo Souza
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugkyon mm
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
The swiss knife of a word press developer
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developerIvelina Dimova
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow ToolsFITC
 
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng The Software House
 
Polyglot Gradle with Node.js and Play
Polyglot Gradle with Node.js and PlayPolyglot Gradle with Node.js and Play
Polyglot Gradle with Node.js and PlayEvgeny Goldin
 
How to improve gradle build speed
How to improve gradle build speedHow to improve gradle build speed
How to improve gradle build speedFate Chang
 
Developing Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationDeveloping Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationJesus Jackson
 
Automating WordPress Plugin Development with Gulp
Automating WordPress Plugin Development with GulpAutomating WordPress Plugin Development with Gulp
Automating WordPress Plugin Development with GulpMike Hale
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CIColCh
 
Node.js meets jenkins
Node.js meets jenkinsNode.js meets jenkins
Node.js meets jenkinsEvgeny Goldin
 
Jython on Django
Jython on DjangoJython on Django
Jython on Djangofwierzbicki
 
Docker in Production: Reality, Not Hype - DevOps Chicago
Docker in Production: Reality, Not Hype - DevOps ChicagoDocker in Production: Reality, Not Hype - DevOps Chicago
Docker in Production: Reality, Not Hype - DevOps Chicagobridgetkromhout
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & DockerJoerg Henning
 

What's hot (20)

All Work Responsibilities in my whole Life-Testing Profession
All Work Responsibilities in my whole  Life-Testing  ProfessionAll Work Responsibilities in my whole  Life-Testing  Profession
All Work Responsibilities in my whole Life-Testing Profession
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
 
GraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerGraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, Stronger
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Grunt
GruntGrunt
Grunt
 
The swiss knife of a word press developer
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developer
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow Tools
 
GruntJS
GruntJSGruntJS
GruntJS
 
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
 
Polyglot Gradle with Node.js and Play
Polyglot Gradle with Node.js and PlayPolyglot Gradle with Node.js and Play
Polyglot Gradle with Node.js and Play
 
How to improve gradle build speed
How to improve gradle build speedHow to improve gradle build speed
How to improve gradle build speed
 
Developing Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationDeveloping Rails Apps in Technical Isolation
Developing Rails Apps in Technical Isolation
 
Automating WordPress Plugin Development with Gulp
Automating WordPress Plugin Development with GulpAutomating WordPress Plugin Development with Gulp
Automating WordPress Plugin Development with Gulp
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Node.js meets jenkins
Node.js meets jenkinsNode.js meets jenkins
Node.js meets jenkins
 
Jython on Django
Jython on DjangoJython on Django
Jython on Django
 
Docker in Production: Reality, Not Hype - DevOps Chicago
Docker in Production: Reality, Not Hype - DevOps ChicagoDocker in Production: Reality, Not Hype - DevOps Chicago
Docker in Production: Reality, Not Hype - DevOps Chicago
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
 

Viewers also liked

Cfsa maximizing small spaces 2 of 3
Cfsa maximizing small spaces 2 of 3Cfsa maximizing small spaces 2 of 3
Cfsa maximizing small spaces 2 of 3ffbroadwell
 
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...gamificationworldcongress
 
GWC2013 - Javier Molina - The Platform of Fun
GWC2013 - Javier Molina - The Platform of FunGWC2013 - Javier Molina - The Platform of Fun
GWC2013 - Javier Molina - The Platform of Fungamificationworldcongress
 
PNPM-MP dari perspektif akademisi
PNPM-MP dari perspektif akademisiPNPM-MP dari perspektif akademisi
PNPM-MP dari perspektif akademisiArdi Novra
 
VILLAGE as a Center of Growth
VILLAGE as a Center of GrowthVILLAGE as a Center of Growth
VILLAGE as a Center of GrowthArdi Novra
 
Making compost in 50 ton increments
Making compost in 50 ton incrementsMaking compost in 50 ton increments
Making compost in 50 ton incrementsffbroadwell
 
Opowieści w Sieci – interaktywny storytelling
Opowieści w Sieci – interaktywny storytellingOpowieści w Sieci – interaktywny storytelling
Opowieści w Sieci – interaktywny storytellingJacek Szlak
 
Demande forecasating
Demande forecasatingDemande forecasating
Demande forecasatingAntriksh Cool
 
GWC14: Victor manrique - "How successful gamified experiences are designed"
GWC14: Victor manrique - "How successful gamified experiences are designed"GWC14: Victor manrique - "How successful gamified experiences are designed"
GWC14: Victor manrique - "How successful gamified experiences are designed"gamificationworldcongress
 
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"gamificationworldcongress
 
Pump up your power with planning
Pump up your power with planningPump up your power with planning
Pump up your power with planningLiber8me
 
Holistic Large Animal Veterinary Principles and Practices
Holistic Large Animal Veterinary Principles and PracticesHolistic Large Animal Veterinary Principles and Practices
Holistic Large Animal Veterinary Principles and Practicesffbroadwell
 
Presentasjon om biler
Presentasjon om bilerPresentasjon om biler
Presentasjon om bilerAbdelhay1961
 
Cfsa maximizing small spaces 3.5 of 3
Cfsa maximizing small spaces 3.5 of 3Cfsa maximizing small spaces 3.5 of 3
Cfsa maximizing small spaces 3.5 of 3ffbroadwell
 
TPC CONCEPT One to One Training
TPC CONCEPT One to One TrainingTPC CONCEPT One to One Training
TPC CONCEPT One to One TrainingTPC CONCEPT
 
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"gamificationworldcongress
 

Viewers also liked (20)

Cfsa maximizing small spaces 2 of 3
Cfsa maximizing small spaces 2 of 3Cfsa maximizing small spaces 2 of 3
Cfsa maximizing small spaces 2 of 3
 
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...
GWC14: Bastian Kneissl - Location based engagement: the star gate for interac...
 
GWC2013 - Javier Molina - The Platform of Fun
GWC2013 - Javier Molina - The Platform of FunGWC2013 - Javier Molina - The Platform of Fun
GWC2013 - Javier Molina - The Platform of Fun
 
PNPM-MP dari perspektif akademisi
PNPM-MP dari perspektif akademisiPNPM-MP dari perspektif akademisi
PNPM-MP dari perspektif akademisi
 
VILLAGE as a Center of Growth
VILLAGE as a Center of GrowthVILLAGE as a Center of Growth
VILLAGE as a Center of Growth
 
Making compost in 50 ton increments
Making compost in 50 ton incrementsMaking compost in 50 ton increments
Making compost in 50 ton increments
 
Opowieści w Sieci – interaktywny storytelling
Opowieści w Sieci – interaktywny storytellingOpowieści w Sieci – interaktywny storytelling
Opowieści w Sieci – interaktywny storytelling
 
Demande forecasating
Demande forecasatingDemande forecasating
Demande forecasating
 
GWC14: Victor manrique - "How successful gamified experiences are designed"
GWC14: Victor manrique - "How successful gamified experiences are designed"GWC14: Victor manrique - "How successful gamified experiences are designed"
GWC14: Victor manrique - "How successful gamified experiences are designed"
 
GWC14: Bart Briers - "Lean Gamification"
GWC14: Bart Briers - "Lean Gamification"GWC14: Bart Briers - "Lean Gamification"
GWC14: Bart Briers - "Lean Gamification"
 
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"
GWC14: Jose Carlos Cortizo - "The reality of gamified loyalty in eCommerce"
 
2011 Hardin County Iowa Laborshed Summary
2011 Hardin County Iowa Laborshed Summary2011 Hardin County Iowa Laborshed Summary
2011 Hardin County Iowa Laborshed Summary
 
Contraception
Contraception Contraception
Contraception
 
Pump up your power with planning
Pump up your power with planningPump up your power with planning
Pump up your power with planning
 
Holistic Large Animal Veterinary Principles and Practices
Holistic Large Animal Veterinary Principles and PracticesHolistic Large Animal Veterinary Principles and Practices
Holistic Large Animal Veterinary Principles and Practices
 
Presentasjon om biler
Presentasjon om bilerPresentasjon om biler
Presentasjon om biler
 
Cfsa maximizing small spaces 3.5 of 3
Cfsa maximizing small spaces 3.5 of 3Cfsa maximizing small spaces 3.5 of 3
Cfsa maximizing small spaces 3.5 of 3
 
Function points and elements
Function points and elementsFunction points and elements
Function points and elements
 
TPC CONCEPT One to One Training
TPC CONCEPT One to One TrainingTPC CONCEPT One to One Training
TPC CONCEPT One to One Training
 
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"
GWC14: Jaume Juan - "Challenge: An incredible Game Dynamic for Massive Learning"
 

Similar to Grunt

Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsJosh Lee
 
Preprocessor Workflow with Grunt
Preprocessor Workflow with GruntPreprocessor Workflow with Grunt
Preprocessor Workflow with GruntVlad Filippov
 
S&T What I know about Node 110817
S&T What I know about Node 110817S&T What I know about Node 110817
S&T What I know about Node 110817Dan Dineen
 
Grunt: the wild boar dev's best friend - WordCamp London 2018
Grunt: the wild boar dev's best friend - WordCamp London 2018Grunt: the wild boar dev's best friend - WordCamp London 2018
Grunt: the wild boar dev's best friend - WordCamp London 2018Marco Chiesi
 
Building your own personal minion with grunt.js
Building your own personal minion with grunt.jsBuilding your own personal minion with grunt.js
Building your own personal minion with grunt.jsBrent Swisher
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationDavid Amend
 
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)Ricardo Castelhano
 
Modern Development Tools
Modern Development ToolsModern Development Tools
Modern Development ToolsYe Maw
 
Grunt understanding
Grunt understandingGrunt understanding
Grunt understandingKhalid Khan
 
WordPress automation and CI
WordPress automation and CIWordPress automation and CI
WordPress automation and CIRan Bar-Zik
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportYouSee
 
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasImproving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasPreston McCauley
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineKris Buytaert
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert NETWAYS
 

Similar to Grunt (20)

Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
 
Preprocessor Workflow with Grunt
Preprocessor Workflow with GruntPreprocessor Workflow with Grunt
Preprocessor Workflow with Grunt
 
S&T What I know about Node 110817
S&T What I know about Node 110817S&T What I know about Node 110817
S&T What I know about Node 110817
 
Grunt: the wild boar dev's best friend - WordCamp London 2018
Grunt: the wild boar dev's best friend - WordCamp London 2018Grunt: the wild boar dev's best friend - WordCamp London 2018
Grunt: the wild boar dev's best friend - WordCamp London 2018
 
Building your own personal minion with grunt.js
Building your own personal minion with grunt.jsBuilding your own personal minion with grunt.js
Building your own personal minion with grunt.js
 
Front end development gurant
Front end development gurantFront end development gurant
Front end development gurant
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
 
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
When a Sassquatch and a Board get together (or how to use Grunt to chew Sass)
 
Modern Development Tools
Modern Development ToolsModern Development Tools
Modern Development Tools
 
Grunt understanding
Grunt understandingGrunt understanding
Grunt understanding
 
Grunt and Bower
Grunt and BowerGrunt and Bower
Grunt and Bower
 
WordPress automation and CI
WordPress automation and CIWordPress automation and CI
WordPress automation and CI
 
Gulp overview
Gulp overviewGulp overview
Gulp overview
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology Support
 
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasImproving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
 
Grunt All Day
Grunt All DayGrunt All Day
Grunt All Day
 
Gulp - The Streaming Build System
Gulp - The Streaming Build SystemGulp - The Streaming Build System
Gulp - The Streaming Build System
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipeline
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Grunt

  • 1. Andrii Siusko 11/19/2013 GRUNT JS Grunt JavaScript Automation for the Lazy Developer
  • 2. Agenda  What is grunt?  Why Grunt?  Who have been using it?  How Do I Start?  How Do I Use?  Plugins  Demo  Questions
  • 3. What is grunt? Grunt is a task-based command line build tool for JavaScript projects. • $ grunt less • $ grunt csslint • $ grunt jshint jslint • $ grunt clean • $ grunt watch • $ grunt server • $ grunt jasmine • $ grunt dev production
  • 4. Why Grunt? • Open Source • Large Community • Hundreds of plugins • Build your own (plugin) • This is easy!
  • 5. Who have been using it?
  • 6. How Do I Start? • node.js npm {Node Packaged Modules} manages dependencies for an application through the command line. • npm install -g grunt-cli this will put the grunt command in your system path, allowing it to be run from any directory. note: that installing grunt-cli does not install the grunt task runner! • npm install grunt --save-dev This will install the latest version of GRUNT in your project folder, adding it to your devDependencies in package.json note: way you can install the grunt plugins: npm install {module} --save-dev http://nodejs.org/download/ http://gruntjs.com/getting-started
  • 7. How Do I Use? • package.json • GruntFile.js
  • 8. How Do I Use? package.json { "name": "my-project-name", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.1", "grunt-contrib-jshint": "~0.1.1", "grunt-contrib-nodeunit": "~0.1.2" } }
  • 9. How Do I Use? • GruntFile.js module.exports = function (grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { js: { src: ['js/**/*.js', 'src/js/**/*.js'], dest: ‘dev/js/app.js' } }, cssmin : { ... }, clean: { ... }, watch: { ... }, }); // loaded a task from a npm module grunt.loadNpmTasks('grunt-contrib-cssmin'); //setup our workflow grunt.registerTask("dev", ["concat:js", "cssmin"]); }
  • 10. Plugins • JSHint/JSLint • Minify • Concatenate • Watch • LESS/SASS • Stylus • Imagemin • Web-server • Remove-logging • …
  • 11. Demo