1.0.0 • Published 5 years ago
fahimisgit v1.0.0
Is Git
Create a progrm that checks if a directory in the file system is also a git repository.
Instructions
1. Complete the function
In the file is-git.js complete the exported function using the directory-exists library to check if a relative path contains a .git directory.
Constraints (Task 1)
- The function should return a string indicating whether a git repository exists in passed path or not.
- The function should recieve a relative path, but return a string contaning the absolute path (see examples below)
- If a direcotry doesn't exist in the passed path, the function should exit the process and print message to the user.
Examples (Task 1)
| Case | Input | Output |
|---|---|---|
| Input is not a directory | '../hello' | Sorry, but I couldn't find a directory at /home/itamar/hello |
| Input is git repository | './blockly-vue' | /home/itamar/blockly-vue is a git repository |
| Input is not git repository | './blockly-vue/src' | /home/itamar/blockly-vue/src is **not** a git repository |
2. Create a cli program
In the file index.js accept at least one command line argument from the user, and import the function from is-git.js to check if the argument is a git repository.
Constraints (Task 2)
- If no arguments are passed, the program should exit the process and print a message to the user (see examples below)
- Add support for multiple arguments
Examples (Task 2)
Directory is a git repository
$ node index.js ../blockly-vue
> "/home/itamar/blockly-vue is a git repository"Directory is not a git repository
$ node index.js ../blockly-vue/src
> "/home/itamar/blockly-vue/src is **not** a git repository"Directory doesn't exist
$ node index.js ../hello
> "Sorry, but I couldn't find a directory at /home/itamar/hello"No arguments passed
$ node index.js
> "Please pass in at least one directory path to check for git repositories"Multiple Arguments
$ node index.js ../blockly-vue ../blockly-vue/src
> "/home/itamar/blockly-vue is a git repository"
> "/home/itamar/blockly-vue/src is **not** a git repository"Bonus tasks
- Use the external library
chalkto add some color to your output. - Link the npm package globally so that you could use the program anywhere in the terminal by calling
is-git <directory>. - Publish the program as an npm package under your user namespace.
1.0.0
5 years ago