Skip to content

Commit

Permalink
# This is a combination of 22 commits.
Browse files Browse the repository at this point in the history
# This is the 1st commit message:

Update README.md
# This is the commit message debck#2:

Added create folder option, fixes (debck#8) (debck#13)

* Added create folder option, fixes (debck#8)

* Reverted changes to json files to try to not break build

* Better add folder option, fixes (debck#8)

# This is the commit message debck#3:

Update .travis.yml
# This is the commit message debck#4:

Update README.md
# This is the commit message debck#5:

Update app.js

# This is the commit message debck#6:

Update ifdir.js

# This is the commit message debck#7:

Update question.js

# This is the commit message debck#8:

Update ifdir.js

# This is the commit message debck#9:

Update app.js

# This is the commit message debck#10:

Update question.js

# This is the commit message debck#11:

Update app.js

# This is the commit message debck#12:

Update question.js
# This is the commit message debck#13:

Update app.js

# This is the commit message debck#14:

Create functions.js

# This is the commit message debck#15:

Update question.js

# This is the commit message debck#16:

Update ifdir.js

# This is the commit message debck#17:

Update create.js

# This is the commit message debck#18:

Update app.js

# This is the commit message debck#19:

Update create.js

# This is the commit message debck#20:

Create sub.js

# This is the commit message debck#21:

Solves debck#12(Added badges to Readme) (debck#16)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

# This is the commit message debck#22:

Update README.md
  • Loading branch information
debck authored and thesmallstar committed Jan 16, 2019
1 parent 7fa68c5 commit 95bb787
Show file tree
Hide file tree
Showing 9 changed files with 1,846 additions and 971 deletions.
2 changes: 0 additions & 2 deletions .travis.yml
Expand Up @@ -2,5 +2,3 @@ sudo: false
language: node_js
node_js:
- 8
notifications:
webhooks: https://www.travisbuddy.com/
18 changes: 14 additions & 4 deletions README.md
Expand Up @@ -4,18 +4,28 @@

> Made with :heart: for Windows 💻 users, who cannot use `touch` command to create files :+1:
<!--Remove the ones not wanted-->
![Dependancy Status](https://david-dm.org/debck/File-Creator-CLI.svg)
![NPM Version](https://badge.fury.io/js/filecreator-cli.svg)
![MIT License](https://img.shields.io/github/license/debck/File-Creator-CLI.svg?style=flat-square)
![Codacy Coverage](https://img.shields.io/codacy/coverage/:projectId.svg)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/151425cd67f54195aedcf9a04a6ad731)](https://www.codacy.com/app/debck/File-Creator-CLI?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=debck/File-Creator-CLI&amp;utm_campaign=Badge_Grade)

## Installation:
` npm install -g filecreator-cli `

## Usage:
* `cd` to the `directory/folder` where u want to create your file using command line
* `cd` to the `directory/folder` where u want to create your file/folder using command line
* type `create` in your shell
* Answer the questions asked about `File Name` and `Extension` and press `Enter`
* :tada: Your file is ready
* Answer the questions about creating `directory` or `file`,
enter `details` asked and press `Enter`
* :tada: Your file/folder is ready

## Preview

![preview](gif/usage.gif)


## Communication
> If you have any specific queries related to the project and you are participating in [OpenCode19](https://opencodeiiita.github.io/)
then ask in the slack channel [#file-creator-cli](https://opencodeiiita.slack.com/messages/CFBRTFFJN/)

22 changes: 2 additions & 20 deletions bin/app.js
@@ -1,22 +1,4 @@
#!/usr/bin/env node
const sub = require("./sub.js");

const shell = require('shelljs');
const inquirer = require('inquirer');
const chalk = require('chalk');
const header = require('../lib/header');
const question = require('../lib/question');
const create = require('../lib/create');

const main = async () => {
header.init();

const input = await question.questions();
// console.log(input);
const { filename, extension } = input;
// console.log(filename);
create.create(filename, extension);

console.log(chalk.blue('File created successfully') + chalk.red('!!!'));
};

main();
sub.main();
44 changes: 44 additions & 0 deletions bin/sub.js
@@ -0,0 +1,44 @@
const inquirer = require("inquirer");
const chalk = require("chalk");
const header = require("../lib/header");
const question = require("../lib/question");
const create = require("../lib/create");
const ifdir = require("../lib/ifdir");

const func = require("../lib/functions");

const main = (exports.main = async () => {
header.init();

const result = await ifdir.ask();

const { isdir } = result;

if (isdir === "d") {
const dir_res = await ifdir.getdir();
const { dirname } = dir_res;
create.createdir(dirname);

return 0;
} else if (isdir === "f") {
const input = await question.questions();
// console.log(input);
const { filename, extension } = input;
// console.log(filename);
create.create(filename, extension);
console.log(chalk.blue("File created successfully") + chalk.red("!!!"));

return 0;
} else if (isdir === "dld") {
func.deletedirec();
} else if (isdir === "df") {
func.deletefile();
} else if (isdir === "fs") {
func.filesize();
} else if (isdir === "rf") {
func.renamefile();
} else {
// Invalid response in isdir
return 2;
}
});
13 changes: 10 additions & 3 deletions lib/create.js
@@ -1,7 +1,14 @@
const shell = require('shelljs');
const shell = require("shelljs");

exports.create = (filename, extension) => {
const filePath = `${process.cwd()}/${filename}.${extension}`;
exports.create = filename => {
const filePath = `${process.cwd()}/${filename}`;
// console.log(filePath);
shell.touch(filePath);
return 0;
};

exports.createdir = dirname => {
const path = `${process.cwd()}/${dirname}`;
shell.mkdir(path);
return 0;
};
37 changes: 37 additions & 0 deletions lib/functions.js
@@ -0,0 +1,37 @@
const shell = require("shelljs");
const question = require("../lib/question");
const ifdir = require("../lib/ifdir");
const fs = require("fs");

exports.deletefile = async () => {
const input = await question.questions();
const { filename } = input;
const name = filename;
shell.rm(name);
};

exports.deletedirec = async () => {
const dir_res = await ifdir.getdir();
const { dirname } = dir_res;
shell.rm("-rf", dirname);
};

exports.renamefile = async () => {
const input = await question.questions();
const { filename } = input;
const name = filename;
const rename = await question.rename();
const { newname } = rename;

fs.rename(name, newname, function(err) {
if (err) console.log("ERROR: " + err);
});
};
exports.filesize = async () => {
const input = await question.questions();
const { filename } = input;
const name = filename;

const fileSizeInBytes = fs.statSync(name).size;
console.log(fileSizeInBytes + "Bytes");
};
26 changes: 26 additions & 0 deletions lib/ifdir.js
@@ -0,0 +1,26 @@
const inquirer = require("inquirer");

exports.ask = () => {
const question = [
{
name: "isdir",
type: "input",
message:
"Type (d/f) to create a Directory/file or (dld/df) to delete a directory/file (rf/fs) to rename file/get file size "
}
];

return inquirer.prompt(question);
};

exports.getdir = () => {
const getdir = [
{
name: "dirname",
type: "input",
message: "Directory name: "
}
];

return inquirer.prompt(getdir);
};
25 changes: 15 additions & 10 deletions lib/question.js
@@ -1,18 +1,23 @@
const inquirer = require('inquirer');
const inquirer = require("inquirer");

exports.questions = () => {
const questions = [
{
name: 'filename',
type: 'input',
message: 'Name of file: ',
},
{
name: 'extension',
type: 'input',
message: 'Extension: ',
},
name: "filename",
type: "input",
message: "Name of file (name.extension): "
}
];
// console.log(inquirer.prompt(questions));
return inquirer.prompt(questions);
};

exports.rename = () => {
const rename = {
name: "newname",
type: "input",
message: "Rename to: "
};

return inquirer.prompt(rename);
};

0 comments on commit 95bb787

Please sign in to comment.