Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Files from Yeoman web-app that needs to be committed in SCM/GIT

When we do "yo webapp" (assuming webapp generator is installed), it scaffold projects which contains file relevant to bower, grunt and then there is app folder, which we all know what's it about.

My question is, out of this structure what are the files that needs to be maintained in SCM, Should it be only app directory or should it whole structure ?(assuming there are no additional grunt task or any build file changes from earlier scaffolding)

like image 530
Monk789 Avatar asked Mar 19 '23 19:03

Monk789


1 Answers

Yeoman webapp generator will produce a .gitignore file which includes files that should not be committed to a SCM. This file includes the following directories:

node_modules
dist
.tmp
.sass-cache
bower_components
test/bower_components

It is clear that .tmp and .sass-cache have no reason to be in the repo as they both are only temporary.

There is however a discussion whether bower (and rarely node) dependencies should be checked in. For most projects I recommend not to.

Please note that in either case one should never change the packages directly in the bower_components or node_modules folder as any change will be lost at next bower install or npm install. A fork of the original project (either as a independent repo or to folder in the project - e.g. lib) is a better idea - a follow up pull request would then add a lot of karma :)

The dist folder with the build of the application may be committed depending on your deployment method. There is a very good guide on deployment on Yeoman site.

like image 145
Robin Pokorny Avatar answered Mar 22 '23 23:03

Robin Pokorny