tsd
tsd copied to clipboard
tsd --save flag modifies permissions of parent directories unnecessarily
Using tsd 0.6.0-beta.5
.
I have a directory structure that looks like this: /var/www/applications/my-app/tsd.json
. Anytime I run tsd with the --save
flag, it sets the my-app
folder's permissions to 744
. As a result, the apache user can no longer execute the application contained in my-app
.
The problem appears to be caused by this line.
I can probably put together a pull request to fix the issue, but in order to do so, I have a couple of questions.
- Why does tsd traverse the parent directories? Is there any reason it couldn't just start from the project root where it is being run?
- Why is tsd modifying permissions on existing directories?
- Why is tsd specifying an exact set of permissions rather than just
u+w
in order to guarantee write permissions exist?
I spent quite a while (several days) on this seemingly random failure, and want to make sure others don't run into the same thing. :smile:
Thanks!
Unfortunately others do run into the same thing. We have been struggling with this issue for months now. After each tsd call (from cli as well as with gulp-tsd) we need to change permissions to our own folders back again :-(.
My only question is: Why does tsd have to touch the permissions at all? Default mkdir() call creates the directory under default permissions (given by process' umask). Why is not this sufficient?
The same happens in our setup. Any chance this bug will be fixed soon?
Spent also several hours debugging this.