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

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 Scriptwesley chun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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 DevelopmentsTrustArc
 
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 MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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