stack-analyze 1.3.8 → 1.4.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 +294 -322
- package/about.js +5 -33
- package/functions/hardware.js +1 -10
- package/functions/magicBall.js +27 -0
- package/functions/tcgp.js +69 -0
- package/hash/infoTools.js +22 -4
- package/hash/utilityTools.js +15 -0
- package/package.json +15 -14
- package/utils.js +26 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,334 +2,306 @@
|
|
|
2
2
|
|
|
3
3
|
stack-analyze all version and notable changes, fixed, remove and new additions in code.
|
|
4
4
|
|
|
5
|
-
## generation
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- add potter search (harry potter npx characters)
|
|
53
|
-
|
|
54
|
-
- update linter
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
### version 1.3.0
|
|
67
|
-
#### Added
|
|
68
|
-
- deezer search tool
|
|
5
|
+
## generation 5 (ver. 1.4.0 -)
|
|
6
|
+
- version 1.4.0
|
|
7
|
+
- Added:
|
|
8
|
+
- new tool magic ball
|
|
9
|
+
|
|
10
|
+
## generation 4 (ver. 1.3.0 - 1.3.9)
|
|
11
|
+
|
|
12
|
+
- version 1.3.9
|
|
13
|
+
- Added:
|
|
14
|
+
- added new tool (tcg pocket card info)
|
|
15
|
+
- @tcgdex/sdk *new module*
|
|
16
|
+
- version 1.3.8
|
|
17
|
+
- Changed:
|
|
18
|
+
- replace all arrays option instead using keys object for fast adaptible.
|
|
19
|
+
- change anime quotes to taylor swift quotes (neo-jquery easter egg)
|
|
20
|
+
- version 1.3.7
|
|
21
|
+
- Added:
|
|
22
|
+
- quotes new tool
|
|
23
|
+
- Changed:
|
|
24
|
+
- some files using new types jsdocs via import
|
|
25
|
+
- cpuinfo using separetd of cache
|
|
26
|
+
- version 1.3.6 (5th aniversary)
|
|
27
|
+
- Added:
|
|
28
|
+
- new wallpaers pack:
|
|
29
|
+
- tsuky no emily.
|
|
30
|
+
- ancient mistery.
|
|
31
|
+
- Changed:
|
|
32
|
+
- simplify in how play for poker rule tool.
|
|
33
|
+
- fixed:
|
|
34
|
+
- fixed download wallpapers.
|
|
35
|
+
- cli.js fixed jsdoc.
|
|
36
|
+
- version 1.3.5
|
|
37
|
+
- Added:
|
|
38
|
+
- new tool poker game rule selector "poker rule".
|
|
39
|
+
- changed:
|
|
40
|
+
- change inquirer to @inquirer/prompts.
|
|
41
|
+
- about.js file now using esm with json modules.
|
|
42
|
+
- all tools now using new inquirer methods.
|
|
43
|
+
- fixed:
|
|
44
|
+
- add question for anime search tool.
|
|
45
|
+
- remove:
|
|
46
|
+
- remove validations folder.
|
|
47
|
+
- version 1.3.4
|
|
48
|
+
- changed:
|
|
49
|
+
- new ui cli for potter search tool & save file.
|
|
50
|
+
- version 1.3.3
|
|
51
|
+
- Added:
|
|
52
|
+
- add potter search (harry potter npx characters)
|
|
53
|
+
- changed:
|
|
54
|
+
- update linter
|
|
55
|
+
- version 1.3.2
|
|
56
|
+
- Added:
|
|
57
|
+
- title for stack menu tools
|
|
58
|
+
- version 1.3.1
|
|
59
|
+
- Added:
|
|
60
|
+
- seyyahi2 wallpapers (this pack is from album app)
|
|
61
|
+
- changed:
|
|
62
|
+
- add new view field is total track and id
|
|
63
|
+
- version 1.3.0
|
|
64
|
+
- Added:
|
|
65
|
+
- deezer search tool
|
|
69
66
|
|
|
70
67
|
## generation 3 (ver. 1.2.0 - 1.2.9)
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- css validate
|
|
75
|
-
|
|
76
|
-
- changed wappalyzer module
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
### version 1.2.0
|
|
143
|
-
#### Added
|
|
144
|
-
- new tool password generator
|
|
145
|
-
#### Fixed
|
|
146
|
-
- update anime search tool
|
|
147
|
-
- the files modules now using callbacks and remove no using vars
|
|
148
|
-
#### Changed
|
|
149
|
-
- the web scraping tool decided to use the question returns to the main menu instead of going to the main menu
|
|
69
|
+
- version 1.2.9
|
|
70
|
+
- Added:
|
|
71
|
+
- css validate
|
|
72
|
+
- changed:
|
|
73
|
+
- changed wappalyzer module
|
|
74
|
+
- version 1.2.8
|
|
75
|
+
- Added:
|
|
76
|
+
- dimensions wallpaper download
|
|
77
|
+
- changed:
|
|
78
|
+
- renove download wallpaper function
|
|
79
|
+
- about script using cjs
|
|
80
|
+
- version 1.2.7
|
|
81
|
+
- Added:
|
|
82
|
+
- wallpaper tool download (sol, moon)
|
|
83
|
+
- changed:
|
|
84
|
+
- default case in range color 91 to 100
|
|
85
|
+
- version 1.2.6
|
|
86
|
+
- Changed:
|
|
87
|
+
- redesign poke info tool
|
|
88
|
+
- remove module info in readme
|
|
89
|
+
- version 1.2.5
|
|
90
|
+
- Added:
|
|
91
|
+
- pokemon info tool.
|
|
92
|
+
- Changed:
|
|
93
|
+
- update script test.
|
|
94
|
+
- remove the cjs and mjs files.
|
|
95
|
+
- renove changelog based in generations similar to neo-jquery.
|
|
96
|
+
- fixed:
|
|
97
|
+
- add examples in twitch info users.
|
|
98
|
+
- fixed the bug create hardware info file.
|
|
99
|
+
- version 1.2.4
|
|
100
|
+
- Changed:
|
|
101
|
+
- remove jest module by node:test,
|
|
102
|
+
- web scraping & github info using native fetch api & not axios,
|
|
103
|
+
- fixed:
|
|
104
|
+
- fixed errors in:
|
|
105
|
+
- single stack.
|
|
106
|
+
- multiple.
|
|
107
|
+
- hardware information.
|
|
108
|
+
- single & multiple stack using sub await mode
|
|
109
|
+
- version 1.2.3
|
|
110
|
+
- Added:
|
|
111
|
+
- bundlephobia info tool
|
|
112
|
+
- Changed:
|
|
113
|
+
- change write json to csv in hardware information
|
|
114
|
+
- version 1.2.2
|
|
115
|
+
- Added:
|
|
116
|
+
- add save file function for the tools
|
|
117
|
+
- Changed:
|
|
118
|
+
- change the hash table to unique function in hardware information
|
|
119
|
+
- Fixed:
|
|
120
|
+
- fixed to unique user to multiple users with split params
|
|
121
|
+
- version 1.2.1
|
|
122
|
+
- Fixed:
|
|
123
|
+
- rewrite form arrow functions to named function with export default.
|
|
124
|
+
- rewrite some test functions.
|
|
125
|
+
- add regexp form bitly info tool
|
|
126
|
+
- Changed:
|
|
127
|
+
- renove menu now using categories.
|
|
128
|
+
- add api params.
|
|
129
|
+
- comeback multibar from pagespeed tool
|
|
130
|
+
- version 1.2.0
|
|
131
|
+
- Added:
|
|
132
|
+
- new tool password generator
|
|
133
|
+
- Fixed:
|
|
134
|
+
- update anime search tool
|
|
135
|
+
- the files modules now using callbacks and remove no using vars
|
|
136
|
+
- Changed:
|
|
137
|
+
- the web scraping tool decided to use the question returns to the main menu instead of going to the main menu
|
|
150
138
|
|
|
151
139
|
## generation 2 (ver. 1.1.0 - 1.1.9)
|
|
152
140
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
- new module cheerio
|
|
156
|
-
- new tool webscraping
|
|
157
|
-
- new test
|
|
158
|
-
|
|
159
|
-
- rewirte axios import
|
|
160
|
-
|
|
161
|
-
- hardware information change from functions to hash table
|
|
162
|
-
- about now is hash table
|
|
163
|
-
- now using the function printTable avoid overwritting.
|
|
164
|
-
- remove jsdocs the modules files
|
|
165
|
-
|
|
166
|
-
- remove models console-table-printer
|
|
167
|
-
- remove hash tables
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
|
|
174
|
-
- remove
|
|
175
|
-
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
-
|
|
193
|
-
|
|
194
|
-
-
|
|
195
|
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
- add new
|
|
226
|
-
-
|
|
227
|
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
|
|
231
|
-
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
- using console.table only in objects variables
|
|
245
|
-
- using the console-table-printer in arrays in some functions and the about section
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
-
|
|
258
|
-
- systeminformation the main module
|
|
259
|
-
- jsdoc + the template minami the dev modules
|
|
260
|
-
- add the hardware information
|
|
261
|
-
- add new recomendations for about section
|
|
262
|
-
#### Fixed
|
|
263
|
-
- rewrite the code the functions singlestack and multiple
|
|
264
|
-
- add the name app to question function
|
|
265
|
-
#### Changed
|
|
266
|
-
- changed the node style color to using colors
|
|
141
|
+
- version 1.1.9
|
|
142
|
+
- Added:
|
|
143
|
+
- new module cheerio
|
|
144
|
+
- new tool webscraping
|
|
145
|
+
- new test
|
|
146
|
+
- Fixed:
|
|
147
|
+
- rewirte axios import
|
|
148
|
+
- Changed:
|
|
149
|
+
- hardware information change from functions to hash table
|
|
150
|
+
- about now is hash table
|
|
151
|
+
- now using the function printTable avoid overwritting.
|
|
152
|
+
- remove jsdocs the modules files
|
|
153
|
+
- remove:
|
|
154
|
+
- remove models console-table-printer
|
|
155
|
+
- remove hash tables
|
|
156
|
+
- version 1.1.8
|
|
157
|
+
- Fixed:
|
|
158
|
+
- restructure all tools as a hash table with promises except the tool hardware information and about section
|
|
159
|
+
- update all modules
|
|
160
|
+
- Changed:
|
|
161
|
+
- remove the module coingecko-api
|
|
162
|
+
- remove process.env variables to writting manual token for security
|
|
163
|
+
- version 1.1.7
|
|
164
|
+
- Added:
|
|
165
|
+
- twitch info tool
|
|
166
|
+
- remove one js module for module to cjs and esm
|
|
167
|
+
- Fixed:
|
|
168
|
+
- change write token to process.env varaibles own (not avalible values in github and gitlab)
|
|
169
|
+
- migrate cjs to esm
|
|
170
|
+
- rewrite module
|
|
171
|
+
- Changed:
|
|
172
|
+
- except some hardware tools and github using models from console-table-printer
|
|
173
|
+
- now using esm now about is js file not folder about with index.js
|
|
174
|
+
- rewrite all tests functions
|
|
175
|
+
- version 1.1.6
|
|
176
|
+
- Added:
|
|
177
|
+
- module stack-analyze mode
|
|
178
|
+
- Fixed:
|
|
179
|
+
- rewrite code
|
|
180
|
+
- Changed:
|
|
181
|
+
- menu renove
|
|
182
|
+
- renove jsdocs in some function or variables
|
|
183
|
+
- remove nonolive recommends soon in versions desktop 7 and pwa 1.5.0
|
|
184
|
+
- version 1.1.5
|
|
185
|
+
- Added:
|
|
186
|
+
- add new tool: movie info
|
|
187
|
+
- add new test
|
|
188
|
+
- renove menu
|
|
189
|
+
- Fixed:
|
|
190
|
+
- rewrite in some functions and about
|
|
191
|
+
- remove some dependencies not using project
|
|
192
|
+
- Changed:
|
|
193
|
+
- change multibar to 2 single bars
|
|
194
|
+
- change switch in all tools for hash functions tables
|
|
195
|
+
- renove nonolive recommends
|
|
196
|
+
- version 1.1.4
|
|
197
|
+
- Added:
|
|
198
|
+
- add new tool: bitly info
|
|
199
|
+
- add new test
|
|
200
|
+
- Fixed:
|
|
201
|
+
- rewrite some functions
|
|
202
|
+
- update npm modules via manual
|
|
203
|
+
- version 1.1.3
|
|
204
|
+
- Added:
|
|
205
|
+
- add new module: coingecko-api
|
|
206
|
+
- add new tool: crypto market
|
|
207
|
+
- add new recomends
|
|
208
|
+
- add new test
|
|
209
|
+
- Fixed:
|
|
210
|
+
- rewrite some functions
|
|
211
|
+
- update npm modules via manual
|
|
212
|
+
- Changed:
|
|
213
|
+
- add new const variables for map array functions
|
|
214
|
+
- version 1.1.2
|
|
215
|
+
- Added:
|
|
216
|
+
- add new nonolive streamers Recomend
|
|
217
|
+
- Fixed:
|
|
218
|
+
- rewrite multiple techstack
|
|
219
|
+
- rewrite test files
|
|
220
|
+
- Changed:
|
|
221
|
+
- changed the for loop to foreach loop
|
|
222
|
+
- version 1.1.1
|
|
223
|
+
- Added:
|
|
224
|
+
- using console.table only in objects variables
|
|
225
|
+
- using the console-table-printer in arrays in some functions and the about section
|
|
226
|
+
- add the new module: console-table-printer
|
|
227
|
+
- add the new nonolive streamers and youtube dev recommedation
|
|
228
|
+
- Fixed:
|
|
229
|
+
- rewrite some funcions
|
|
230
|
+
- fragment about section
|
|
231
|
+
- Changed:
|
|
232
|
+
- using console.table only in objects variables
|
|
233
|
+
- using the console-table-printer in arrays in some functions and the about section
|
|
234
|
+
- version 1.1.0
|
|
235
|
+
- Added:
|
|
236
|
+
- add the new modules:
|
|
237
|
+
- systeminformation the main module
|
|
238
|
+
- jsdoc + the template minami the dev modules
|
|
239
|
+
- add the hardware information
|
|
240
|
+
- add new recomendations for about section
|
|
241
|
+
- Fixed:
|
|
242
|
+
- rewrite the code the functions singlestack and multiple
|
|
243
|
+
- add the name app to question function
|
|
244
|
+
- Changed:
|
|
245
|
+
- changed the node style color to using colors
|
|
267
246
|
|
|
268
247
|
## generation 1 (ver. 1.0.1 - 1.0.9)
|
|
269
248
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
- add the new modules:
|
|
273
|
-
|
|
274
|
-
- add the options github info and anime search the main options
|
|
275
|
-
- add new recomendations for the about section
|
|
276
|
-
|
|
277
|
-
- return the peformance now for pagespeed
|
|
278
|
-
|
|
279
|
-
- add new testing
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
-
|
|
284
|
-
|
|
285
|
-
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
- change
|
|
290
|
-
-
|
|
291
|
-
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
-
|
|
295
|
-
-
|
|
296
|
-
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
- add the
|
|
301
|
-
|
|
302
|
-
-
|
|
303
|
-
-
|
|
304
|
-
-
|
|
305
|
-
|
|
306
|
-
- the
|
|
307
|
-
-
|
|
308
|
-
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
- the
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
-
|
|
316
|
-
-
|
|
317
|
-
-
|
|
318
|
-
|
|
319
|
-
- the
|
|
320
|
-
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
-
|
|
325
|
-
|
|
326
|
-
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
- fisrt official version in npm with the modules:
|
|
330
|
-
- wappalyzer
|
|
331
|
-
- inquirer
|
|
332
|
-
- commander
|
|
333
|
-
|
|
334
|
-
#### version 1.0.1 to 1.0.3
|
|
335
|
-
test version modules without wappalyzer module (only testing)
|
|
249
|
+
- version 1.0.9
|
|
250
|
+
- Added:
|
|
251
|
+
- add the new modules:
|
|
252
|
+
- timeago.js for the github user
|
|
253
|
+
- add the options github info and anime search the main options
|
|
254
|
+
- add new recomendations for the about section
|
|
255
|
+
: Fixed:
|
|
256
|
+
- return the peformance now for pagespeed
|
|
257
|
+
- Changed:
|
|
258
|
+
- add new testing
|
|
259
|
+
- version 1.0.8
|
|
260
|
+
- Added:
|
|
261
|
+
- add the new modules:
|
|
262
|
+
- colors
|
|
263
|
+
- cli-progress
|
|
264
|
+
- Fixed:
|
|
265
|
+
- change json print to table print version
|
|
266
|
+
- Changed:
|
|
267
|
+
- change console.dir about to console.table
|
|
268
|
+
- change from text to bar for pagespeed results
|
|
269
|
+
- add the badge tech stack project
|
|
270
|
+
- patch version 1.0.85:
|
|
271
|
+
- fixed the cli run
|
|
272
|
+
- remove performance.now for the defined time in pagespeed
|
|
273
|
+
- add recomendations sections
|
|
274
|
+
- version 1.0.7
|
|
275
|
+
- Added:
|
|
276
|
+
- add the new modules:
|
|
277
|
+
- figlet the main module
|
|
278
|
+
- jest dev module and testing functions
|
|
279
|
+
- add the options page speed and about the main options
|
|
280
|
+
- add return in a option select except about and exit
|
|
281
|
+
- Fixed:
|
|
282
|
+
- the website in blank or website without http:// or https:// return the main options
|
|
283
|
+
- eslint custom rules without style guide
|
|
284
|
+
- Changed:
|
|
285
|
+
- changed the inquirer list to inquirer rawlist
|
|
286
|
+
- rewirte jsdoc in all project except test files
|
|
287
|
+
- the tech stack using other console methods console.log only in exit cli
|
|
288
|
+
- version 1.0.6
|
|
289
|
+
- Added:
|
|
290
|
+
- add the new options: multiple (analyze many sites) and exit (exit cli).
|
|
291
|
+
- the code was testing with eslint to avoid errors to execute
|
|
292
|
+
- rewrite the module docs.
|
|
293
|
+
- Changed:
|
|
294
|
+
- the list options with inquirer
|
|
295
|
+
- welcome message modified
|
|
296
|
+
- version 1.0.5
|
|
297
|
+
- Changed:
|
|
298
|
+
- modify the code and module structure
|
|
299
|
+
- remove:
|
|
300
|
+
- remove the commander module
|
|
301
|
+
- version 1.0.4
|
|
302
|
+
- fisrt official version in npm with the modules:
|
|
303
|
+
- wappalyzer
|
|
304
|
+
- inquirer
|
|
305
|
+
- commander
|
|
306
|
+
- version 1.0.1 to 1.0.3:
|
|
307
|
+
- test version modules without wappalyzer module (only testing)
|
package/about.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
// print table
|
|
2
2
|
import { printTable } from "console-table-printer";
|
|
3
|
-
import { returnMainOpts } from "./utils.js";
|
|
3
|
+
import { returnMainOpts, listFormat } from "./utils.js";
|
|
4
4
|
|
|
5
5
|
// package.json
|
|
6
6
|
const { default: { license, version } } = await import("./package.json", { with: { type: "json" } });
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* @typedef {Object} Info
|
|
10
|
-
* @property {string} Info.mainDeveloper
|
|
11
|
-
* @property {string} Info.version
|
|
12
|
-
* @property {string} Info.license
|
|
13
|
-
*
|
|
14
9
|
* @typedef {Object} DeveloperList
|
|
15
10
|
* @property {string} DeveloperList.name
|
|
16
11
|
* @property {string} DeveloperList.roles
|
|
@@ -27,27 +22,18 @@ const { default: { license, version } } = await import("./package.json", { with:
|
|
|
27
22
|
* @property {string} Project.name
|
|
28
23
|
* @property {string} Project.desc
|
|
29
24
|
*
|
|
30
|
-
* select types
|
|
31
|
-
* @typedef {({
|
|
32
|
-
* [x: string]: (
|
|
33
|
-
* refreshCallback: () => Promise<void>,
|
|
34
|
-
* alternativeCallback?: () => Promise<void>
|
|
35
|
-
* ) => Promise<void> | void
|
|
36
|
-
* })} Select
|
|
37
25
|
*/
|
|
38
26
|
|
|
39
27
|
|
|
40
28
|
/** @type {number} */
|
|
41
29
|
const timeout = 1e3;
|
|
42
30
|
|
|
43
|
-
/** @type {Select}*/
|
|
44
31
|
const aboutTool = {
|
|
45
32
|
mainInfo(refreshCallback) {
|
|
46
|
-
/** @type {
|
|
33
|
+
/** @type {Object<string, string>} */
|
|
47
34
|
const aboutApp = {
|
|
48
35
|
mainDeveloper: "omega5300",
|
|
49
|
-
license,
|
|
50
|
-
version
|
|
36
|
+
license, version
|
|
51
37
|
};
|
|
52
38
|
|
|
53
39
|
console.clear();
|
|
@@ -55,9 +41,7 @@ const aboutTool = {
|
|
|
55
41
|
|
|
56
42
|
setTimeout(refreshCallback, timeout);
|
|
57
43
|
},
|
|
58
|
-
|
|
59
|
-
const { listFormat } = await import("./utils.js");
|
|
60
|
-
|
|
44
|
+
lineup(refreshCallback) {
|
|
61
45
|
/** @type {DeveloperList[]} */
|
|
62
46
|
const developers = [
|
|
63
47
|
{
|
|
@@ -89,16 +73,8 @@ const aboutTool = {
|
|
|
89
73
|
/** @type {Twitch[]} */
|
|
90
74
|
const twitchUsers = [
|
|
91
75
|
{
|
|
92
|
-
user: "
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
user: "Lunanny",
|
|
96
|
-
details: "art director with ADHD."
|
|
76
|
+
user: "DannyQuiin",
|
|
97
77
|
},
|
|
98
|
-
{
|
|
99
|
-
user: "Japon_HR",
|
|
100
|
-
details: "cosplayer, gamer, dance & halo machinima creator"
|
|
101
|
-
}
|
|
102
78
|
];
|
|
103
79
|
|
|
104
80
|
console.clear();
|
|
@@ -116,10 +92,6 @@ const aboutTool = {
|
|
|
116
92
|
name: "black metal catalog",
|
|
117
93
|
desc: "promos albums and community"
|
|
118
94
|
},
|
|
119
|
-
{
|
|
120
|
-
name: "slithering black records",
|
|
121
|
-
desc: "record label & community"
|
|
122
|
-
}
|
|
123
95
|
];
|
|
124
96
|
|
|
125
97
|
console.clear();
|
package/functions/hardware.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
// modules
|
|
2
2
|
import { createWriteStream } from "node:fs";
|
|
3
|
-
import {
|
|
4
|
-
cpu,
|
|
5
|
-
mem,
|
|
6
|
-
osInfo,
|
|
7
|
-
diskLayout,
|
|
8
|
-
graphics,
|
|
9
|
-
bios
|
|
10
|
-
} from "systeminformation";
|
|
3
|
+
import { cpu, mem, osInfo, diskLayout, graphics, bios } from "systeminformation";
|
|
11
4
|
import colors from "colors";
|
|
12
5
|
|
|
13
6
|
const csvHeader = (obj) => `${Object.keys(obj).join(";")}\n`;
|
|
14
7
|
const csvData = (obj, spaces) => `${Object.values(obj).join(";")}${spaces}`;
|
|
15
8
|
|
|
16
9
|
/**
|
|
17
|
-
*
|
|
18
10
|
* @param {number} size
|
|
19
11
|
* @param {number} [base = 1073741824]
|
|
20
12
|
* @returns {string}
|
|
@@ -22,7 +14,6 @@ const csvData = (obj, spaces) => `${Object.values(obj).join(";")}${spaces}`;
|
|
|
22
14
|
const gigabyteConvert = (size, base = 1073741824) => (size / base).toFixed(2);
|
|
23
15
|
|
|
24
16
|
/**
|
|
25
|
-
*
|
|
26
17
|
* @async
|
|
27
18
|
* @returns {Promise<void>}
|
|
28
19
|
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import colors from "colors";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @async
|
|
6
|
+
* @param { 'en' | 'es' } locale
|
|
7
|
+
* @param { string } question
|
|
8
|
+
* @returns {Promise<void>}
|
|
9
|
+
*/
|
|
10
|
+
export default async function magicBall(locale, question) {
|
|
11
|
+
const localeKeyword = {
|
|
12
|
+
en: "magic ball say:",
|
|
13
|
+
es: "la bola magic te dice:"
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
try {
|
|
17
|
+
const {data} = await axios.get("https://eightballapi.com/api/biased", {
|
|
18
|
+
params: { question, locale }
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
console.info(
|
|
22
|
+
localeKeyword[locale], data.reading
|
|
23
|
+
);
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.info(colors.red(err.message));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import TCGdex from "@tcgdex/sdk";
|
|
2
|
+
import boxen from "boxen";
|
|
3
|
+
import colors from "colors";
|
|
4
|
+
import { stackSave } from "../utils.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @param {string} info
|
|
8
|
+
* @returns {string}
|
|
9
|
+
*/
|
|
10
|
+
const boxInfo = (info) => boxen(info, {
|
|
11
|
+
title: "🎴 CARD INFORMATION",
|
|
12
|
+
titleAlignment: "center",
|
|
13
|
+
padding: 1
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @async
|
|
18
|
+
* @param {string} set
|
|
19
|
+
* @param {number} id
|
|
20
|
+
* @returns {Promise<void>}
|
|
21
|
+
*/
|
|
22
|
+
export default async function getTcgpCard(set, id) {
|
|
23
|
+
const tcgdex = new TCGdex("en");
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
const card = await tcgdex.fetchCard(id, set);
|
|
27
|
+
|
|
28
|
+
const cardInfo = `
|
|
29
|
+
Name: ${card.name}
|
|
30
|
+
ID: ${card.id}
|
|
31
|
+
Type: ${card.category}
|
|
32
|
+
|
|
33
|
+
${card.hp && `HP: ${card.hp}` || ""}
|
|
34
|
+
${card.types?.length && `Types: ${card.types.join(", ")}` || ""}
|
|
35
|
+
Rarity: ${card.rarity}
|
|
36
|
+
${card.stage && `Stage: ${card.stage}` || ""}
|
|
37
|
+
${card.evolveFrom && `Evolves from: ${card.evolveFrom}\n` || ""}
|
|
38
|
+
|
|
39
|
+
${card.abilities?.length && `⚡ Abilities:
|
|
40
|
+
${card.abilities.map((ability, i) => `
|
|
41
|
+
${i + 1}. ${ability.name || "Unnamed Ability"}
|
|
42
|
+
${ability.effect && " Effect: "+ability.effect}
|
|
43
|
+
`.trim()).join("")}
|
|
44
|
+
\n`.trim()
|
|
45
|
+
|| ""}
|
|
46
|
+
|
|
47
|
+
${card.attacks?.length && `⚔️ Moveset/Attacks:
|
|
48
|
+
${card.attacks.map((attack, i) => `
|
|
49
|
+
${i + 1}. ${attack.name}
|
|
50
|
+
Energy Cost: ${attack.cost?.length ? attack.cost.join(", ") : "free" }
|
|
51
|
+
Damage: ${attack.damage ? attack.damage : "special"}
|
|
52
|
+
Effect: ${attack.effect ? attack.effect: "no effect"}
|
|
53
|
+
\n`).join("")}
|
|
54
|
+
` || ""}
|
|
55
|
+
|
|
56
|
+
${card.effect && `✨ Card Effect: ${card.effect} ` || ""}
|
|
57
|
+
|
|
58
|
+
${card.weaknesses?.length && `🔻 Weaknesses:
|
|
59
|
+
${card.weaknesses.map(({type, value}) => `${type}: ${value}`).join("")}\n` || ""}
|
|
60
|
+
|
|
61
|
+
${card.retreat !== undefined && `🏃 Retreat Cost: ${card.retreat}\n` || ""} \n`
|
|
62
|
+
.replace(/(^[ \t]*\n)/gm, "");
|
|
63
|
+
|
|
64
|
+
console.info(boxInfo(cardInfo));
|
|
65
|
+
stackSave(`${card.name}.txt`, cardInfo);
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.error(colors.red(err.message));
|
|
68
|
+
}
|
|
69
|
+
}
|
package/hash/infoTools.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// inquirer
|
|
2
|
-
import { input, password } from "@inquirer/prompts";
|
|
2
|
+
import { input, password, number, select } from "@inquirer/prompts";
|
|
3
3
|
|
|
4
4
|
// functions
|
|
5
5
|
import bitlyInfo from "../functions/bitly.js";
|
|
6
6
|
import cryptoMarket from "../functions/cryptoList.js";
|
|
7
7
|
import githubInfo from "../functions/gitUser.js";
|
|
8
8
|
import bundlephobia from "../functions/bundlephobia.js";
|
|
9
|
-
import { returnMainOpts } from "../utils.js";
|
|
9
|
+
import { returnMainOpts, TCGP_EXPANSIONS } from "../utils.js";
|
|
10
|
+
import getTcgpCard from "../functions/tcgp.js";
|
|
10
11
|
|
|
11
12
|
// bitly regexp
|
|
12
13
|
const bitlyRegexp = /bit\.ly\//g;
|
|
@@ -15,8 +16,7 @@ const bitlyRegexp = /bit\.ly\//g;
|
|
|
15
16
|
* select types
|
|
16
17
|
* @typedef {({
|
|
17
18
|
* [x: string]: (
|
|
18
|
-
* refreshCallback: () => Promise<void>,
|
|
19
|
-
* alternativeCallback?: () => Promise<void>
|
|
19
|
+
* refreshCallback: () => Promise<void>,
|
|
20
20
|
* ) => Promise<void> | void
|
|
21
21
|
* })} Select
|
|
22
22
|
* /
|
|
@@ -67,6 +67,24 @@ const infoTools = {
|
|
|
67
67
|
bundlephobia(pkgName);
|
|
68
68
|
setTimeout(refreshCallback, 5e3);
|
|
69
69
|
},
|
|
70
|
+
async tcgpCard(refreshCallback) {
|
|
71
|
+
console.clear();
|
|
72
|
+
|
|
73
|
+
const setName = await select({
|
|
74
|
+
message: "Select a expansion set TCGP:",
|
|
75
|
+
choices: Object.keys(TCGP_EXPANSIONS),
|
|
76
|
+
loop: true,
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
const cardID = await number({
|
|
80
|
+
message: `Enter a card id between 1 to ${TCGP_EXPANSIONS[setName]}:`,
|
|
81
|
+
min: 1, max: TCGP_EXPANSIONS[setName]
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
getTcgpCard(setName, cardID);
|
|
85
|
+
|
|
86
|
+
setTimeout(refreshCallback, 5e3);
|
|
87
|
+
}
|
|
70
88
|
};
|
|
71
89
|
|
|
72
90
|
const menuInfoOpts = [...Object.keys(infoTools), returnMainOpts];
|
package/hash/utilityTools.js
CHANGED
|
@@ -6,6 +6,8 @@ import { pokerGameOpts, returnMainOpts } from "../utils.js";
|
|
|
6
6
|
import genPassword from "../functions/password.js";
|
|
7
7
|
import hardware from "../functions/hardware.js";
|
|
8
8
|
import pokerGame from "../functions/poker.js";
|
|
9
|
+
import magicBall from "../functions/magicBall.js";
|
|
10
|
+
import { input } from "@inquirer/prompts";
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* select types
|
|
@@ -37,6 +39,19 @@ const utilityTools = {
|
|
|
37
39
|
|
|
38
40
|
pokerGame(pokeOpt);
|
|
39
41
|
setTimeout(refreshCallback, 5e3);
|
|
42
|
+
},
|
|
43
|
+
async magic_ball(refreshCallback) {
|
|
44
|
+
const localeOpt = await stackMenu({
|
|
45
|
+
message: "select a magic ball locale:",
|
|
46
|
+
choices: ["en", "es"]
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const magicBallQuestion = await input({
|
|
50
|
+
message: "enter a question to the selected language:"
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
magicBall(localeOpt, magicBallQuestion);
|
|
54
|
+
setTimeout(refreshCallback, 5e3);
|
|
40
55
|
}
|
|
41
56
|
};
|
|
42
57
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stack-analyze",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "cli tech stack analyze and pagespeed with node.js using the wappalyzer module. with google pagespeed api, hardware and crypto market",
|
|
6
6
|
"main": "cli.js",
|
|
@@ -8,26 +8,27 @@
|
|
|
8
8
|
"stack-analyze": "cli.js"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@inquirer/prompts": "^7.
|
|
12
|
-
"
|
|
11
|
+
"@inquirer/prompts": "^7.9.0",
|
|
12
|
+
"@tcgdex/sdk": "^2.7.1",
|
|
13
|
+
"axios": "^1.13.1",
|
|
13
14
|
"boxen": "^8.0.1",
|
|
14
|
-
"cheerio": "^1.1.
|
|
15
|
+
"cheerio": "^1.1.2",
|
|
15
16
|
"cli-progress": "^3.12.0",
|
|
16
17
|
"colors": "^1.4.0",
|
|
17
|
-
"console-table-printer": "^2.
|
|
18
|
-
"figlet": "^1.
|
|
19
|
-
"inquirer": "^12.
|
|
20
|
-
"ora": "^
|
|
21
|
-
"systeminformation": "^5.27.
|
|
18
|
+
"console-table-printer": "^2.15.0",
|
|
19
|
+
"figlet": "^1.9.3",
|
|
20
|
+
"inquirer": "^12.10.0",
|
|
21
|
+
"ora": "^9.0.0",
|
|
22
|
+
"systeminformation": "^5.27.11",
|
|
22
23
|
"timeago.js": "^4.0.2",
|
|
23
24
|
"w3c-css-validator": "^1.4.0",
|
|
24
25
|
"wapalyzer": "^6.10.65"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
|
-
"@eslint/js": "^9.
|
|
28
|
-
"eslint": "^9.
|
|
29
|
-
"globals": "^16.
|
|
30
|
-
"jsdoc": "^4.0.
|
|
28
|
+
"@eslint/js": "^9.39.1",
|
|
29
|
+
"eslint": "^9.39.1",
|
|
30
|
+
"globals": "^16.5.0",
|
|
31
|
+
"jsdoc": "^4.0.5"
|
|
31
32
|
},
|
|
32
33
|
"scripts": {
|
|
33
34
|
"start": "node cli.js",
|
|
@@ -64,4 +65,4 @@
|
|
|
64
65
|
"doc": "docs",
|
|
65
66
|
"test": "test"
|
|
66
67
|
}
|
|
67
|
-
}
|
|
68
|
+
}
|
package/utils.js
CHANGED
|
@@ -23,6 +23,25 @@ const pokerGameOpts = [
|
|
|
23
23
|
"basics-of-poker", "texas-holdem-poker"
|
|
24
24
|
];
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @readonly
|
|
28
|
+
* @type {Object<string,number>}
|
|
29
|
+
*/
|
|
30
|
+
const TCGP_EXPANSIONS = {
|
|
31
|
+
"p-a": 100,
|
|
32
|
+
a1: 286,
|
|
33
|
+
a1a: 86,
|
|
34
|
+
a2: 207,
|
|
35
|
+
a2a: 96,
|
|
36
|
+
a2b: 111,
|
|
37
|
+
a3: 239,
|
|
38
|
+
a3a: 103,
|
|
39
|
+
a3b: 107,
|
|
40
|
+
a4: 241,
|
|
41
|
+
a4a: 105,
|
|
42
|
+
b1: 331,
|
|
43
|
+
};
|
|
44
|
+
|
|
26
45
|
/**
|
|
27
46
|
* @param {string} filename
|
|
28
47
|
* @param {any} data
|
|
@@ -33,13 +52,14 @@ const stackSave = async (filename, data) => {
|
|
|
33
52
|
console.error("stackSave no using falsy values");
|
|
34
53
|
return;
|
|
35
54
|
}
|
|
36
|
-
|
|
37
|
-
if(typeof data === "boolean") {
|
|
55
|
+
|
|
56
|
+
if (typeof data === "boolean") {
|
|
38
57
|
console.info("stackSave no using boolean types");
|
|
39
58
|
return;
|
|
40
59
|
}
|
|
41
60
|
|
|
42
|
-
try {
|
|
61
|
+
try {
|
|
62
|
+
await writeFile(filename, data);
|
|
43
63
|
} catch (err) {
|
|
44
64
|
console.info(colors.red(err.message));
|
|
45
65
|
}
|
|
@@ -52,14 +72,14 @@ const exitMsg = "thanks for use stack-analyze".green;
|
|
|
52
72
|
* @returns {void}
|
|
53
73
|
*/
|
|
54
74
|
const forceExit = (err) => {
|
|
55
|
-
if(err.name === "ExitPromptError") {
|
|
75
|
+
if (err.name === "ExitPromptError") {
|
|
56
76
|
console.info("👋 until next time!".green);
|
|
57
77
|
process.exit(1);
|
|
58
78
|
}
|
|
59
79
|
};
|
|
60
80
|
|
|
61
81
|
export {
|
|
62
|
-
listFormat, currency, scrapingOpts, forceExit,
|
|
63
|
-
stackSave, pokerGameOpts, exitMsg, returnMainOpts
|
|
82
|
+
listFormat, currency, scrapingOpts, forceExit,
|
|
83
|
+
stackSave, pokerGameOpts, exitMsg, returnMainOpts, TCGP_EXPANSIONS
|
|
64
84
|
};
|
|
65
85
|
|