stack-analyze 1.1.5 → 1.1.8

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.
@@ -1,14 +1,18 @@
1
1
  // modules
2
- const {
3
- cpu,
4
- mem,
5
- osInfo,
6
- diskLayout,
7
- graphics,
8
- bios
9
- } = require("systeminformation");
10
- const { printTable } = require("console-table-printer");
11
- const { red } = require("colors");
2
+ import {
3
+ cpu,
4
+ mem,
5
+ osInfo,
6
+ diskLayout,
7
+ graphics,
8
+ bios
9
+ } from "systeminformation";
10
+ import colors from "colors";
11
+ import {
12
+ controllersTable,
13
+ diskTables,
14
+ displayTables
15
+ } from "../models/hardwareTables.js";
12
16
 
13
17
 
14
18
  /**
@@ -44,7 +48,7 @@ async function cpuInfo() {
44
48
  model
45
49
  });
46
50
  } catch (err) {
47
- console.error(red(err.message));
51
+ console.error(colors.red(err.message));
48
52
  }
49
53
  }
50
54
 
@@ -73,7 +77,7 @@ async function ramMemInfo() {
73
77
  available_mem: `${(available / 1073741824).toFixed(2)} GB`
74
78
  });
75
79
  } catch (err) {
76
- console.error(red(err.message));
80
+ console.error(colors.red(err.message));
77
81
  }
78
82
  }
79
83
 
@@ -108,7 +112,7 @@ async function osDetail() {
108
112
  uefi
109
113
  });
110
114
  } catch (err) {
111
- console.error(red(err.message));
115
+ console.error(colors.red(err.message));
112
116
  }
113
117
  }
114
118
 
@@ -135,11 +139,13 @@ async function diskInfo() {
135
139
  diskSize: `${(size / 1073741824).toFixed(2)} GB`,
136
140
  interfaceType
137
141
  }));
138
-
139
- printTable(disksList);
142
+
143
+ diskTables.addRows(disksList);
144
+
145
+ diskTables.printTable();
140
146
 
141
147
  } catch (err) {
142
- console.error(red(err.message));
148
+ console.error(colors.red(err.message));
143
149
  }
144
150
  }
145
151
 
@@ -160,15 +166,16 @@ async function controllerInfo() {
160
166
  }) => ({
161
167
  model,
162
168
  vendor,
163
- vramSize: vram < 1024
169
+ vramSize: vram < 1024
164
170
  ? `${vram} MB`
165
171
  : `${(vram / 1024).toFixed(2)} GB`
166
172
  }));
167
173
 
168
174
  // show results
169
- printTable(controllersList);
175
+ controllersTable.addRows(controllersList);
176
+ controllersTable.printTable();
170
177
  } catch (err) {
171
- console.error(red(err.message));
178
+ console.error(colors.red(err.message));
172
179
  }
173
180
  }
174
181
 
@@ -197,9 +204,10 @@ async function displayInfo() {
197
204
  }));
198
205
 
199
206
  // show results
200
- printTable(displayList);
207
+ displayTables.addRows(displayList);
208
+ displayTables.printTable();
201
209
  } catch (err) {
202
- console.error(red(err.message));
210
+ console.error(colors.red(err.message));
203
211
  }
204
212
  }
205
213
 
@@ -221,16 +229,16 @@ async function biosInfo() {
221
229
  console.table({
222
230
  releaseDate,
223
231
  vendor,
224
- bios_revision: revision === "" ? "no info": revision,
232
+ bios_revision: revision === "" ? "no info" : revision,
225
233
  version
226
234
  });
227
235
  } catch (err) {
228
- console.error(red(err.message));
236
+ console.error(colors.red(err.message));
229
237
  }
230
238
  }
231
239
 
232
240
  // exports modules
233
- module.exports = {
241
+ export {
234
242
  cpuInfo,
235
243
  ramMemInfo,
236
244
  osDetail,
@@ -1,54 +1,25 @@
1
1
  // modules
2
- const axios = require("axios").default;
3
- const { red } = require("colors");
4
- const { Table } = require("console-table-printer");
2
+ import axios from "axios";
3
+ import colors from "colors";
4
+
5
+ // table module
6
+ import movieList from "../models/movieTables.js";
5
7
 
6
8
  /**
7
9
  * @description movie info tool
8
- * @param { string } api_key - key required for api tool
9
10
  * @param { string } query - search any movie
10
11
  * @returns { Promise<void> } - return movie lisy
11
12
  */
12
- const movieDB = async (api_key, query) => {
13
+ const movieDB = async (query, token) => {
13
14
  try {
14
15
  const { data } = await axios.get("https://api.themoviedb.org/3/search/movie", {
15
16
  params: {
16
- api_key,
17
+ api_key: token,
17
18
  query,
18
19
  page: 1
19
20
  }
20
21
  });
21
22
 
22
- const movieList = new Table({
23
- columns: [
24
- {
25
- name: "title",
26
- alignment: "left",
27
- color: "green"
28
- },
29
- {
30
- name: "original_language",
31
- alignment: "left",
32
- color: "green"
33
- },
34
- {
35
- name: "popularity",
36
- alignment: "left",
37
- color: "yellow"
38
- },
39
- {
40
- name: "vote_average",
41
- alignment: "left",
42
- color: "yellow"
43
- },
44
- {
45
- name: "release_date",
46
- alignment: "left",
47
- color: "yellow"
48
- }
49
- ]
50
- });
51
-
52
23
  const movieData = data.results
53
24
  .map(({
54
25
  title,
@@ -76,9 +47,9 @@ const movieDB = async (api_key, query) => {
76
47
 
77
48
  movieList.printTable();
78
49
  } catch (err) {
79
- console.error(red(err.message));
50
+ console.error(colors.red(err.message));
80
51
  }
81
52
  };
82
53
 
83
54
  // export
84
- module.exports = movieDB;
55
+ export default movieDB;
@@ -1,8 +1,8 @@
1
1
  // modules
2
- const { textSync } = require("figlet");
3
- const Wappalyzer = require("wappalyzer");
4
- const { red, green } = require("colors");
5
- const { Table } = require("console-table-printer");
2
+ import figlet from "figlet";
3
+ import Wappalyzer from "wappalyzer";
4
+ import colors from "colors";
5
+ import stackTable from "../models/stackTables.js";
6
6
 
7
7
  /**
8
8
  *
@@ -14,26 +14,6 @@ const { Table } = require("console-table-printer");
14
14
  const multipleStack = async (urls) => {
15
15
  const wappalyzer = await new Wappalyzer();
16
16
 
17
- const p = new Table({
18
- columns: [
19
- {
20
- name: "techName",
21
- alignment: "left",
22
- color: "cyan"
23
- },
24
- {
25
- name: "techWebsite",
26
- alignment: "left",
27
- color: "green"
28
- },
29
- {
30
- name: "techCategories",
31
- alignment: "left",
32
- color: "cyan"
33
- }
34
- ]
35
- });
36
-
37
17
  try {
38
18
  await wappalyzer.init();
39
19
 
@@ -61,17 +41,17 @@ const multipleStack = async (urls) => {
61
41
  techCategories: categories.map(({ name }) => name).join(", ")
62
42
  }));
63
43
 
64
- console.info(green(textSync(url, "Small")));
44
+ console.info(colors.green(figlet.textSync(url, "Small")));
65
45
  console.group();
66
- p.addRows(stackResult);
67
- p.printTable();
46
+ stackTable.addRows(stackResult);
47
+ stackTable.printTable();
68
48
  console.groupEnd();
69
49
  });
70
50
  } catch (err) {
71
- console.error(red(err.message));
51
+ console.error(colors.red(err.message));
72
52
  }
73
53
 
74
54
  await wappalyzer.destroy();
75
55
  };
76
56
 
77
- module.exports = multipleStack;
57
+ export default multipleStack;
@@ -1,7 +1,7 @@
1
1
  // modules
2
- const axios = require("axios").default;
3
- const cliProgress = require("cli-progress");
4
- const { red } = require("colors");
2
+ import axios from "axios";
3
+ import { SingleBar } from "cli-progress";
4
+ import colors from "colors";
5
5
 
6
6
  /**
7
7
  * @description async function mobile website pagespeed
@@ -39,13 +39,13 @@ const pageSpeed = async (url) => {
39
39
  switch (true) {
40
40
  case (mobile === 1 || mobile <= 49):
41
41
  case (desktop === 1 || desktop <= 49):
42
- b1 = new cliProgress.SingleBar({
42
+ b1 = new SingleBar({
43
43
  format: "Mobile Result | {bar} || {value}/{total} || bad".red,
44
44
  barCompleteChar: "\u2588",
45
45
  barIncompleteChar: "\u2591",
46
46
  hideCursor: true
47
47
  });
48
- b2 = new cliProgress.SingleBar({
48
+ b2 = new SingleBar({
49
49
  format: "Desktop Result | {bar} || {value}/{total} || bad".red,
50
50
  barCompleteChar: "\u2588",
51
51
  barIncompleteChar: "\u2591",
@@ -54,13 +54,13 @@ const pageSpeed = async (url) => {
54
54
  break;
55
55
  case (mobile === 50 || mobile <= 89):
56
56
  case (desktop === 50 || desktop <= 89):
57
- b1 = new cliProgress.SingleBar({
57
+ b1 = new SingleBar({
58
58
  format: "Mobile Result | {bar} || {value}/{total} || decent".yellow,
59
59
  barCompleteChar: "\u2588",
60
60
  barIncompleteChar: "\u2591",
61
61
  hideCursor: true
62
62
  });
63
- b2 = new cliProgress.SingleBar({
63
+ b2 = new SingleBar({
64
64
  format: "Desktop Result | {bar} || {value}/{total} || decent".yellow,
65
65
  barCompleteChar: "\u2588",
66
66
  barIncompleteChar: "\u2591",
@@ -69,13 +69,13 @@ const pageSpeed = async (url) => {
69
69
  break;
70
70
  case (mobile >= 90 || mobile === 100):
71
71
  case (desktop >= 90 || desktop === 100):
72
- b1 = new cliProgress.SingleBar({
72
+ b1 = new SingleBar({
73
73
  format: "Mobile Result | {bar} || {value}/{total} || excelent".green,
74
74
  barCompleteChar: "\u2588",
75
75
  barIncompleteChar: "\u2591",
76
76
  hideCursor: true
77
77
  });
78
- b2 = new cliProgress.SingleBar({
78
+ b2 = new SingleBar({
79
79
  format: "Desktop Result | {bar} || {value}/{total} || excelent".green,
80
80
  barCompleteChar: "\u2588",
81
81
  barIncompleteChar: "\u2591",
@@ -83,13 +83,13 @@ const pageSpeed = async (url) => {
83
83
  });
84
84
  break;
85
85
  default:
86
- b1 = new cliProgress.SingleBar({
86
+ b1 = new SingleBar({
87
87
  format: "Mobile Result | {bar} || {value}/{total} || undifined",
88
88
  barCompleteChar: "\u2588",
89
89
  barIncompleteChar: "\u2591",
90
90
  hideCursor: true
91
91
  });
92
- b2 = new cliProgress.SingleBar({
92
+ b2 = new SingleBar({
93
93
  format: "Desktop Result | {bar} || {value}/{total} || undifined",
94
94
  barCompleteChar: "\u2588",
95
95
  barIncompleteChar: "\u2591",
@@ -109,8 +109,8 @@ const pageSpeed = async (url) => {
109
109
  b1.stop();
110
110
  b2.stop();
111
111
  } catch (err) {
112
- console.error(red(err.message));
112
+ console.error(colors.red(err.message));
113
113
  }
114
114
  };
115
115
 
116
- module.exports = pageSpeed;
116
+ export default pageSpeed;
@@ -1,8 +1,8 @@
1
1
  // module
2
- const Wappalyzer = require("wappalyzer");
3
- const { textSync } = require("figlet");
4
- const { red, green } = require("colors");
5
- const { Table } = require("console-table-printer");
2
+ import Wappalyzer from "wappalyzer";
3
+ import figlet from "figlet";
4
+ import colors from "colors";
5
+ import stackTable from "../models/stackTables.js";
6
6
 
7
7
  /**
8
8
  *
@@ -11,30 +11,9 @@ const { Table } = require("console-table-printer");
11
11
  * @returns { Promise<void> } - return async results single web
12
12
  *
13
13
  */
14
- async function singleStack(url) {
14
+ export default async function singleStack(url) {
15
15
  const wappalyzer = await new Wappalyzer;
16
16
 
17
- const p = new Table({
18
- columns: [
19
- {
20
- name: "techName",
21
- alignment: "left",
22
- color: "cyan"
23
- },
24
- {
25
- name: "techWebsite",
26
- alignment: "left",
27
- color: "green"
28
- },
29
- {
30
- name: "techCategories",
31
- alignment: "left",
32
- color: "cyan"
33
- }
34
- ]
35
-
36
- });
37
-
38
17
  try {
39
18
  await wappalyzer.init();
40
19
 
@@ -50,16 +29,14 @@ async function singleStack(url) {
50
29
  techCategories: categories.map(({ name }) => name).join(", ")
51
30
  }));
52
31
 
53
- console.info(green(textSync(url)));
32
+ console.info(colors.green(figlet.textSync(url)));
54
33
 
55
- p.addRows(stackResult);
34
+ stackTable.addRows(stackResult);
56
35
 
57
- p.printTable();
36
+ stackTable.printTable();
58
37
  } catch (err) {
59
- console.error(red(err.message));
38
+ console.error(colors.red(err.message));
60
39
  }
61
40
 
62
41
  await wappalyzer.destroy();
63
42
  }
64
-
65
- module.exports = singleStack;
@@ -0,0 +1,45 @@
1
+ // modules
2
+ import axios from "axios";
3
+ import { format } from "timeago.js";
4
+ import colors from "colors";
5
+
6
+ // table
7
+ import twitchTable from "../models/twitchTables.js";
8
+
9
+ /**
10
+ *
11
+ * @description twitch user info
12
+ * @param {string} twitchUser - twitch user for search
13
+ * @param {string} apiToken - twitch api token
14
+ * @returns { Promise<void> } - return twitch results
15
+ */
16
+ const twitchInfo = async (twitchUser, twitchClient, apiToken) => {
17
+
18
+ try {
19
+ const { data: twitchData } = await axios.get(`https://api.twitch.tv/helix/users?login=${twitchUser}`, {
20
+ headers: {
21
+ Authorization: `Bearer ${apiToken}`,
22
+ "Client-Id": twitchClient
23
+ }
24
+ });
25
+
26
+ const result = twitchData.data.map(({
27
+ display_name,
28
+ broadcaster_type,
29
+ view_count,
30
+ created_at
31
+ }) => ({
32
+ display_name,
33
+ broadcaster_type,
34
+ view_count,
35
+ createdTime: format(created_at)
36
+ }));
37
+
38
+ twitchTable.addRows(result);
39
+ twitchTable.printTable();
40
+ } catch (err) {
41
+ console.error(colors.red(err));
42
+ }
43
+ };
44
+
45
+ export default twitchInfo;
package/hash/aboutOpts.js CHANGED
@@ -1,25 +1,23 @@
1
1
  // print table
2
- const { printTable } = require("console-table-printer");
2
+ import { printTable } from "console-table-printer";
3
3
 
4
4
  // tables models
5
- const {
5
+ import {
6
6
  youtubeDevTable,
7
- nonoliveTable,
8
7
  ideasTable
9
- } = require("../models/aboutTables");
8
+ } from "../models/aboutTables.js";
10
9
 
11
10
  // about sections
12
- const {
11
+ import {
13
12
  aboutApp,
14
13
  developers,
15
- youtubeDev,
16
- nonolive,
17
14
  twitch,
18
15
  projects,
19
- ideas
20
- } = require("../about");
16
+ ideas,
17
+ youtubeDev
18
+ } from "../about.js";
21
19
 
22
- /** @type {{ main_info(): void, lineup(): void, youtube_recomendation(): void, nonolive_recomendation(): void, twitch_recomendation(): void, projects_recomendation(): void, tools_ideas(): void }} */
20
+ /** @type {{ main_info(): void, lineup(): void, youtube_recomendation(): void, twitch_recomendation(): void, projects_recomendation(): void, tools_ideas(): void }} */
23
21
  const aboutTool = {
24
22
  main_info() {
25
23
  console.clear();
@@ -34,11 +32,6 @@ const aboutTool = {
34
32
  youtubeDevTable.addRows(youtubeDev);
35
33
  youtubeDevTable.printTable();
36
34
  },
37
- nonolive_recomendation() {
38
- console.clear();
39
- nonoliveTable.addRows(nonolive);
40
- nonoliveTable.printTable();
41
- },
42
35
  twitch_recomendation() {
43
36
  console.clear();
44
37
  const streamers = twitch.map((streamer, i) => ({ index: i + 1, streamer }));
@@ -57,4 +50,4 @@ const aboutTool = {
57
50
  };
58
51
 
59
52
  // export hash
60
- module.exports = aboutTool;
53
+ export default aboutTool;
@@ -1,5 +1,5 @@
1
1
  // hardware modules
2
- const {
2
+ import {
3
3
  cpuInfo,
4
4
  ramMemInfo,
5
5
  osDetail,
@@ -7,7 +7,7 @@ const {
7
7
  controllerInfo,
8
8
  displayInfo,
9
9
  biosInfo
10
- } = require("../functions/hardware");
10
+ } from "../functions/hardware.js";
11
11
 
12
12
  /**
13
13
  * @type {{ cpu(): void, ram_memory(): void, os(): void, disk(): void, controller(): void, display(): void, bios(): void }}
@@ -44,4 +44,4 @@ const hardwareTools = {
44
44
  };
45
45
 
46
46
  // exports
47
- module.exports = hardwareTools;
47
+ export default hardwareTools;