stack-analyze 1.1.7 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -3
- package/about.js +97 -45
- package/cli.js +313 -109
- package/functions/animeInfo.js +12 -15
- package/functions/bitly.js +3 -4
- package/functions/cryptoList.js +16 -13
- package/functions/gitUser.js +14 -14
- package/functions/hardware.js +195 -243
- package/functions/moviesInfo.js +5 -10
- package/functions/multipleStack.js +13 -8
- package/functions/pageSpeed.js +1 -1
- package/functions/password.js +25 -0
- package/functions/scraping.js +153 -0
- package/functions/singleStack.js +14 -9
- package/functions/twitch.js +5 -7
- package/index.cjs +177 -139
- package/index.mjs +179 -140
- package/package.json +18 -18
- package/readme.md +38 -7
- package/utils.js +15 -0
- package/env/bitly.env.js +0 -1
- package/env/movie.env.js +0 -1
- package/env/twitchID.env.js +0 -1
- package/hash/aboutOpts.js +0 -53
- package/hash/hardwareTools.js +0 -47
- package/hash/infoTools.js +0 -112
- package/hash/mainTools.js +0 -67
- package/models/aboutTables.js +0 -40
- package/models/animeTable.js +0 -33
- package/models/cryptoTables.js +0 -32
- package/models/hardwareTables.js +0 -87
- package/models/movieTables.js +0 -33
- package/models/stackTables.js +0 -23
- package/models/twitchTables.js +0 -28
package/hash/hardwareTools.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// hardware modules
|
|
2
|
-
import {
|
|
3
|
-
cpuInfo,
|
|
4
|
-
ramMemInfo,
|
|
5
|
-
osDetail,
|
|
6
|
-
diskInfo,
|
|
7
|
-
controllerInfo,
|
|
8
|
-
displayInfo,
|
|
9
|
-
biosInfo
|
|
10
|
-
} from "../functions/hardware.js";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @type {{ cpu(): void, ram_memory(): void, os(): void, disk(): void, controller(): void, display(): void, bios(): void }}
|
|
14
|
-
*/
|
|
15
|
-
const hardwareTools = {
|
|
16
|
-
cpu() {
|
|
17
|
-
console.clear();
|
|
18
|
-
cpuInfo();
|
|
19
|
-
},
|
|
20
|
-
ram_memory() {
|
|
21
|
-
console.clear();
|
|
22
|
-
ramMemInfo();
|
|
23
|
-
},
|
|
24
|
-
os() {
|
|
25
|
-
console.clear();
|
|
26
|
-
osDetail();
|
|
27
|
-
},
|
|
28
|
-
disk() {
|
|
29
|
-
console.clear();
|
|
30
|
-
diskInfo();
|
|
31
|
-
},
|
|
32
|
-
controller() {
|
|
33
|
-
console.clear();
|
|
34
|
-
controllerInfo();
|
|
35
|
-
},
|
|
36
|
-
display() {
|
|
37
|
-
console.clear();
|
|
38
|
-
displayInfo();
|
|
39
|
-
},
|
|
40
|
-
bios() {
|
|
41
|
-
console.clear();
|
|
42
|
-
biosInfo();
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// exports
|
|
47
|
-
export default hardwareTools;
|
package/hash/infoTools.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
// modules
|
|
2
|
-
import inquirer from "inquirer";
|
|
3
|
-
|
|
4
|
-
// github info
|
|
5
|
-
import githubInfo from "../functions/gitUser.js";
|
|
6
|
-
|
|
7
|
-
// anime search
|
|
8
|
-
import animeSearch from "../functions/animeInfo.js";
|
|
9
|
-
|
|
10
|
-
// crypto market
|
|
11
|
-
import cryptoMarket from "../functions/cryptoList.js";
|
|
12
|
-
|
|
13
|
-
// bitly
|
|
14
|
-
import bitlyInfo from "../functions/bitly.js";
|
|
15
|
-
|
|
16
|
-
// movies
|
|
17
|
-
import movieDB from "../functions/moviesInfo.js";
|
|
18
|
-
|
|
19
|
-
// twitch
|
|
20
|
-
import twitchInfo from "../functions/twitch.js";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @type {{ github_info(): Promise<void>, anime_search(): Promise<void>, crypto_market(): void, bitly_info(): Promise<void>, movie_info(): Promise<void>, twitch_info(): Promise<void>}}
|
|
25
|
-
*/
|
|
26
|
-
const infoTools = {
|
|
27
|
-
async github_info() {
|
|
28
|
-
const { user } = await inquirer.prompt({
|
|
29
|
-
name: "user",
|
|
30
|
-
message: "enter a github user"
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
if (user !== "") {
|
|
34
|
-
console.clear();
|
|
35
|
-
githubInfo(user);
|
|
36
|
-
} else {
|
|
37
|
-
console.error("please the github username is required".red);
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
async anime_search() {
|
|
41
|
-
const { anime } = await inquirer.prompt({
|
|
42
|
-
name: "anime",
|
|
43
|
-
message: "enter a anime, movie or ova search"
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
if (anime !== "") {
|
|
47
|
-
console.clear();
|
|
48
|
-
animeSearch(anime);
|
|
49
|
-
} else {
|
|
50
|
-
console.error("please the anime is required".red);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
crypto_market() {
|
|
54
|
-
console.clear();
|
|
55
|
-
cryptoMarket();
|
|
56
|
-
},
|
|
57
|
-
async bitly_info() {
|
|
58
|
-
console.clear();
|
|
59
|
-
const { link } = await inquirer.prompt([
|
|
60
|
-
{
|
|
61
|
-
name: "link",
|
|
62
|
-
message: "enter a bitly link without http|https",
|
|
63
|
-
}
|
|
64
|
-
]);
|
|
65
|
-
|
|
66
|
-
if (link !== "") {
|
|
67
|
-
console.clear();
|
|
68
|
-
bitlyInfo(link);
|
|
69
|
-
} else {
|
|
70
|
-
console.error("bitly link is required".red);
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
async movie_info() {
|
|
74
|
-
const { query } = await inquirer.prompt([
|
|
75
|
-
{
|
|
76
|
-
name: "query",
|
|
77
|
-
message: "please search a movie search",
|
|
78
|
-
}
|
|
79
|
-
]);
|
|
80
|
-
|
|
81
|
-
if (query !== "") {
|
|
82
|
-
console.clear();
|
|
83
|
-
movieDB(query);
|
|
84
|
-
} else {
|
|
85
|
-
console.error("please the movie is required".red);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
async twitch_info() {
|
|
89
|
-
const { user, twitch_token } = await inquirer.prompt([
|
|
90
|
-
{
|
|
91
|
-
name: "user",
|
|
92
|
-
message: "get twitch user"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
name: "twitch_token",
|
|
96
|
-
message: "enter a twitch token without the key Bearer",
|
|
97
|
-
type: "password",
|
|
98
|
-
mask: "?"
|
|
99
|
-
}
|
|
100
|
-
]);
|
|
101
|
-
|
|
102
|
-
if (user !== "" && twitch_token !== "") {
|
|
103
|
-
console.clear();
|
|
104
|
-
twitchInfo(user, twitch_token);
|
|
105
|
-
} else {
|
|
106
|
-
console.error("twitch info fields is required".red);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// exports
|
|
112
|
-
export default infoTools;
|
package/hash/mainTools.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// modules
|
|
2
|
-
import inquirer from "inquirer";
|
|
3
|
-
import figlet from "figlet";
|
|
4
|
-
import colors from "colors";
|
|
5
|
-
|
|
6
|
-
// analyze web
|
|
7
|
-
import singleStack from "../functions/singleStack.js";
|
|
8
|
-
import multipleStack from "../functions/multipleStack.js";
|
|
9
|
-
|
|
10
|
-
// pagespeed web
|
|
11
|
-
import pageSpeed from "../functions/pageSpeed.js";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @type {{ single(): Promise<void>, multiple(): Promise<void>, pagespeed(): Promise<void> }}
|
|
15
|
-
*/
|
|
16
|
-
const mainTools = {
|
|
17
|
-
async single() {
|
|
18
|
-
console.clear();
|
|
19
|
-
const { url } = await inquirer.prompt({
|
|
20
|
-
name: "url",
|
|
21
|
-
message: "enter url for analyze the tech stack:"
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
url.indexOf("http") === 0
|
|
25
|
-
? singleStack(url)
|
|
26
|
-
: console.error("please insert a URL with parameter http:// or https://".red);
|
|
27
|
-
},
|
|
28
|
-
async multiple() {
|
|
29
|
-
console.clear();
|
|
30
|
-
const { urls } = await inquirer.prompt({
|
|
31
|
-
name: "urls",
|
|
32
|
-
message: "enter URLs for analyze the tech stacks with whitespace without quotes example 'http://example.com https://nodejs.org': \n"
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
urls.match(/(http|https)/g) !== null ||
|
|
37
|
-
urls.match(/(http|https)/g) >= 2
|
|
38
|
-
) {
|
|
39
|
-
const websites = urls.split(" ");
|
|
40
|
-
console.clear();
|
|
41
|
-
multipleStack(websites);
|
|
42
|
-
} else {
|
|
43
|
-
console.error("please in each URL insert a website the parameter https:// or http://".red);
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
async pagespeed() {
|
|
47
|
-
console.clear();
|
|
48
|
-
const { speedWeb } = await inquirer.prompt({
|
|
49
|
-
name: "speedWeb",
|
|
50
|
-
message: "insert URL for page speed analyze:"
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
if (speedWeb.indexOf("http") === 0) {
|
|
54
|
-
console.clear();
|
|
55
|
-
console.info(colors.green(figlet.textSync(speedWeb)));
|
|
56
|
-
|
|
57
|
-
// start pagespeed results mobile
|
|
58
|
-
figlet.textSync(speedWeb, "Small");
|
|
59
|
-
pageSpeed(speedWeb);
|
|
60
|
-
} else {
|
|
61
|
-
console.error("please insert a URL with parameter https;// or http://".red);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
// export
|
|
67
|
-
export default mainTools;
|
package/models/aboutTables.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// table model module
|
|
2
|
-
import { Table } from "console-table-printer";
|
|
3
|
-
|
|
4
|
-
// youtube model
|
|
5
|
-
const youtubeDevTable = new Table({
|
|
6
|
-
columns: [
|
|
7
|
-
{
|
|
8
|
-
name: "youtubeChannel",
|
|
9
|
-
alignment: "left",
|
|
10
|
-
color: "green"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
name: "recomendation",
|
|
14
|
-
alignment: "left",
|
|
15
|
-
color: "cyan"
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// ideas model
|
|
21
|
-
const ideasTable = new Table({
|
|
22
|
-
columns: [
|
|
23
|
-
{
|
|
24
|
-
name: "author",
|
|
25
|
-
alignment: "left",
|
|
26
|
-
color: "green"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: "tool",
|
|
30
|
-
alignment: "left",
|
|
31
|
-
color: "green"
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
// exports tables
|
|
37
|
-
export {
|
|
38
|
-
youtubeDevTable,
|
|
39
|
-
ideasTable
|
|
40
|
-
};
|
package/models/animeTable.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const animeList = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "title",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "green"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "type",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "magenta"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "episodes",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "magenta"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "debutDate",
|
|
22
|
-
alignment: "left",
|
|
23
|
-
color: "magenta"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "finalDate",
|
|
27
|
-
alignment: "left",
|
|
28
|
-
color: "green"
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
export default animeList;
|
package/models/cryptoTables.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const coinTable = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "symbol",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "green"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "name",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "white_bold"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "price",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "yellow"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "priceChanged",
|
|
22
|
-
alignment: "left"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: "lastUpdated",
|
|
26
|
-
alignment: "left",
|
|
27
|
-
color: "magenta"
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
export default coinTable;
|
package/models/hardwareTables.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const diskTables = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "type",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "green"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "name",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "green"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "vendor",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "green"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "diskSize",
|
|
22
|
-
alignment: "left",
|
|
23
|
-
color: "yellow"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "interfaceType",
|
|
27
|
-
alignment: "left",
|
|
28
|
-
color: "yellow"
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
const controllersTable = new Table({
|
|
34
|
-
columns: [
|
|
35
|
-
{
|
|
36
|
-
name: "model",
|
|
37
|
-
alignment: "left",
|
|
38
|
-
color: "green"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: "vendor",
|
|
42
|
-
alignment: "left",
|
|
43
|
-
color: "green"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: "vramSize",
|
|
47
|
-
alignment: "left",
|
|
48
|
-
color: "yellow"
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
const displayTables = new Table({
|
|
54
|
-
columns: [
|
|
55
|
-
{
|
|
56
|
-
name: "model",
|
|
57
|
-
alignment: "left",
|
|
58
|
-
color: "green"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: "main",
|
|
62
|
-
alignment: "left",
|
|
63
|
-
color: "green"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "connection",
|
|
67
|
-
alignment: "left",
|
|
68
|
-
color: "cyan"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
name: "resolutionX",
|
|
72
|
-
alignment: "left",
|
|
73
|
-
color: "yellow"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
name: "resolutionY",
|
|
77
|
-
alignment: "left",
|
|
78
|
-
color: "yellow"
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
export {
|
|
84
|
-
diskTables,
|
|
85
|
-
controllersTable,
|
|
86
|
-
displayTables
|
|
87
|
-
};
|
package/models/movieTables.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const movieList = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "title",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "green"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "original_language",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "green"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "popularity",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "yellow"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "vote_average",
|
|
22
|
-
alignment: "left",
|
|
23
|
-
color: "yellow"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "release_date",
|
|
27
|
-
alignment: "left",
|
|
28
|
-
color: "yellow"
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
export default movieList;
|
package/models/stackTables.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const stackTable = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "techName",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "cyan"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "techWebsite",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "green"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "techCategories",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "cyan"
|
|
19
|
-
}
|
|
20
|
-
]
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
export default stackTable;
|
package/models/twitchTables.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Table } from "console-table-printer";
|
|
2
|
-
|
|
3
|
-
const twitchTable = new Table({
|
|
4
|
-
columns: [
|
|
5
|
-
{
|
|
6
|
-
name: "display_name",
|
|
7
|
-
alignment: "left",
|
|
8
|
-
color: "green"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: "broadcaster_type",
|
|
12
|
-
alignment: "left",
|
|
13
|
-
color: "green"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "view_count",
|
|
17
|
-
alignment: "left",
|
|
18
|
-
color: "yellow"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "createdTime",
|
|
22
|
-
alignment: "left",
|
|
23
|
-
color: "green"
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
export default twitchTable;
|