Marc Torrent & Raúl Delgado
“The trouble with programmers is that you can never
tell what a programmer is doing until it’s too late.”
What is a package manager?
Is a collection of software tools that automates the process of installing, upgrading,
configuring, and removing software packages
Why use a package manager?
It is clean, tidy and forced everyone to have the same packages with the same versions
What managers are for JS?
Node Package Manager (NPM)
Back-end or Front-end ?
Both, but mainly in back-end.
How do I use it?
How many packages have?
“It’s not a bug – it’s an undocumented feature.”
What is Git ?
Version Control System
Why is it necessary to use a VCS ?
- Storage elements of the project
- Ability to make changes to stored items
- Historical record of the actions taken
What if you do not use?
Git almost all operations are local:
-To browse history
-See changes in another version
Data integrity (checksum)
-Way control redundancy to protect data integrity impossible to change a
file git project without knowing. You can not upload files corrupted.
Git actions are always modifiable
- After making a commit it is very difficult to lose data
-Everybody works in
-Branch for epic-task
-Commits for task
-Create branch for
-One user one
-One task one
-Create commit into
main branch por
manipulation (mkdir, reads, write, copy), print messages and
helper methods to organize and configure multiple tasks. It
takes care of differences among Operating Systems for you.
However, the real power comes in with the number of
available plugins ready to use.
npm install grunt --save-dev
npm install -g grunt-cli
➢ Add a Gruntfile to the project
➢ Edit the configuration file for the tasks you want to run
➢ Write your own tasks
➢ Use plugins for common tasks
➢grunt-contrib-jshint: syntax and coding style
➢grunt-contrib-sass: compile sass to css
➢grunt-karma: pass client side testing
➢compile-templates: from templates to html
➢requirejs: build requirejs optimized bundle
➢clean: clean unused assets and create final
directory with production HTML and JS