Skip to content

Commit

Permalink
add feature CLICOLOR
Browse files Browse the repository at this point in the history
  • Loading branch information
lixiaoqity committed Oct 9, 2020
1 parent cac3f27 commit 22e6937
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 12 deletions.
1 change: 1 addition & 0 deletions config/keys.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CLICOLOR=1
23 changes: 16 additions & 7 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#!/usr/bin/env node

const process = require("process");
const fs = require('fs');
const pjson = require('./package.json');
const testLink = require("./src/test-link");
const testLinkColor = require('./src/test-link-color');
require('dotenv').config({path:"./config/keys.env"});

const regex = /(https?)(:\/\/)([-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]+)/gi;

Expand Down Expand Up @@ -40,14 +41,22 @@ else {
if (urls) {
for (let u of urls) {
try {

if (flag && !u.startsWith("https")) {
testLink(u.replace(/^http/, "https"));
if(process.env.CLICOLOR==1){
if (flag && !u.startsWith("https")) {
testLinkColor(u.replace(/^http/, "https"));
}
else {
testLinkColor(u);
}
}
else {
testLink(u);
if(process.env.CLICOLOR==0){
if (flag && !u.startsWith("https")) {
testLink(u.replace(/^http/, "https"));
}
else {
testLink(u);
}
}

}
catch (error) {
console.log(error);
Expand Down
5 changes: 5 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
},
"dependencies": {
"chalk": "^4.1.0",
"dotenv": "^8.2.0",
"node-fetch": "^2.6.1",
"request": "^2.88.2"
},
Expand Down
26 changes: 26 additions & 0 deletions src/test-link-color.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const chalk = require('chalk');
const request = require('request');

const testLinkColor = (u)=> {
request({url: u, method: 'HEAD'},(error,response)=>{
if(!error){
if (response.statusCode == 200) {
console.log(chalk.green(u + ' is good.'));
}
else if (response.statusCode == 400 || response.statusCode == 404) {
console.log(chalk.red(u + ' is bad.'));
}
else if (response.statusCode == 301 || response.statusCode == 307 || response.statusCode == 308){
console.log(chalk.yellow(u + ' is redirect.'));
}
else {
console.log(chalk.gray(u + ' is unknow.'));
}
}
else{
console.log(chalk.gray(u + ' is unknow.'));
}
})
}

module.exports = testLinkColor;
10 changes: 5 additions & 5 deletions src/test-link.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ const testLink = (u)=> {
request({url: u, method: 'HEAD'},(error,response)=>{
if(!error){
if (response.statusCode == 200) {
console.log(chalk.green(u + ' is good.'));
console.log(u + ' is good.');
}
else if (response.statusCode == 400 || response.statusCode == 404) {
console.log(chalk.red(u + ' is bad.'));
console.log(u + ' is bad.');
}
else if (response.statusCode == 301 || response.statusCode == 307 || response.statusCode == 308){
console.log(chalk.yellow(u + ' is redirect.'));
console.log(u + ' is redirect.');
}
else {
console.log(chalk.gray(u + ' is unknow.'));
console.log(u + ' is unknow.');
}
}
else{
console.log(chalk.gray(u + ' is unknow.'));
console.log(u + ' is unknow.');
}
})
}
Expand Down

0 comments on commit 22e6937

Please sign in to comment.