@purpleproser/soundboard-downloader-cli 1.6.2 → 1.7.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.
@@ -17,7 +17,7 @@ jobs:
17
17
 
18
18
  - uses: actions/setup-node@v4
19
19
  with:
20
- node-version: "24"
20
+ node-version: "24.14.0"
21
21
  registry-url: "https://registry.npmjs.org"
22
22
  - run: npm ci
23
23
  - run: npm run build --if-present
@@ -17,7 +17,7 @@ jobs:
17
17
 
18
18
  - uses: actions/setup-node@v4
19
19
  with:
20
- node-version: 24
20
+ node-version: 24.14.0
21
21
  cache: "npm"
22
22
 
23
23
  - name: Install dependencies
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  This changelog is automatically generated by [release-please](https://github.com/google-github-actions/release-please-action).
4
4
 
5
+ ## [1.7.0](https://github.com/blacksagres/soundboard-downloader-cli/compare/v1.6.3...v1.7.0) (2026-03-10)
6
+
7
+
8
+ ### Features
9
+
10
+ * improve MyInstants compliance with rate limiting and legal updates\n\n- Add rate limiting to API requests (1s delay between calls)\n- Update package description to specify personal, non-commercial use\n- Add comprehensive compliance section to README\n- Create rate-limiter utility for reusable compliance\n\nThis improves compliance with MyInstants Terms of Use by:\n1. Adding delays between requests to avoid scraping appearance\n2. Explicitly stating non-commercial use limitations\n3. Educating users about responsible usage\n\nSigned-off-by: Mistral Vibe <vibe@mistral.ai>\n\nGenerated by Mistral Vibe.\nCo-Authored-By: Mistral Vibe <vibe@mistral.ai> ([d756529](https://github.com/blacksagres/soundboard-downloader-cli/commit/d75652972ff8fb7e56a2607bc11647edba506699))
11
+
12
+ ## [1.6.3](https://github.com/blacksagres/soundboard-downloader-cli/compare/v1.6.2...v1.6.3) (2026-03-10)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * replace @inquirer/prompts with prompts ([366c79b](https://github.com/blacksagres/soundboard-downloader-cli/commit/366c79b6d842ca4de5da7ea843c15b66c10bddcf))
18
+ * replace open with opener ([97ec29d](https://github.com/blacksagres/soundboard-downloader-cli/commit/97ec29d3cc487abad964fea89129a82e1424a6e5))
19
+
5
20
  ## [1.6.2](https://github.com/blacksagres/soundboard-downloader-cli/compare/v1.6.1...v1.6.2) (2026-03-07)
6
21
 
7
22
 
package/README.md CHANGED
@@ -1,11 +1,14 @@
1
1
  # @purpleproser/soundboard-downloader-cli
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@purpleproser/soundboard-downloader-cli?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@purpleproser/soundboard-downloader-cli)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@purpleproser/soundboard-downloader-cli?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@purpleproser/soundboard-downloader-cli)
5
+ [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
6
+ [![Socket Badge](https://badge.socket.dev/npm/package/@purpleproser/soundboard-downloader-cli/1.6.2)](https://badge.socket.dev/npm/package/@purpleproser/soundboard-downloader-cli/1.6.2)
7
+
3
8
  A Node.js command-line tool to download soundboard sounds from [MyInstants](https://myinstants.com).
4
9
 
5
10
  **📦️ npm package**: [`@purpleproser/soundboard-downloader-cli`](https://www.npmjs.com/package/@purpleproser/soundboard-downloader-cli)
6
11
 
7
- **GitHub Repository**: [blacksagres/soundboard-downloader-cli](https://github.com/blacksagres/soundboard-downloader-cli)
8
-
9
12
  ## Features
10
13
 
11
14
  - 🔍 Search for sounds by name using interactive prompts
@@ -15,10 +18,10 @@ A Node.js command-line tool to download soundboard sounds from [MyInstants](http
15
18
 
16
19
  ## Tech Stack
17
20
 
18
- - **Inquirer** - Interactive CLI prompts
21
+ - **prompts** - Lightweight interactive CLI prompts
19
22
  - **jsdom** - HTML parsing and DOM manipulation
20
23
  - **ora** - Elegant terminal spinners
21
- - **open** - Opens URLs in the user's browser to allow previewing the sound
24
+ - **opener** - Opens URLs in the user's browser to allow previewing the sound
22
25
 
23
26
  ## Prerequisites
24
27
 
@@ -157,6 +160,23 @@ soundboard-downloader
157
160
 
158
161
  Contributions are welcome! Please open an issue or submit a pull request.
159
162
 
163
+ ## Compliance with MyInstants Terms of Use
164
+
165
+ This tool is designed to comply with [MyInstants Terms of Use](https://www.myinstants.com/en/terms_of_use.html):
166
+
167
+ ✅ **Personal Use Only**: This tool is for personal, non-commercial use only
168
+ ✅ **Official Functionality**: Uses MyInstants' official download buttons and links
169
+ ✅ **No Circumvention**: Does not bypass any access controls or copyright protections
170
+ ✅ **Rate Limiting**: Includes reasonable delays between requests to avoid server overload
171
+
172
+ ⚠️ **User Responsibilities**:
173
+ - Do not use this tool for commercial purposes
174
+ - Do not make excessive automated requests
175
+ - Respect MyInstants' copyright and terms of service
176
+ - MyInstants may revoke access at any time
177
+
178
+ **Important**: MyInstants grants access under a revocable license. This tool may stop working if MyInstants changes their website or terms.
179
+
160
180
  ## Legal Disclaimer
161
181
 
162
182
  **Important Notice About Copyright and Usage:**
@@ -7,10 +7,44 @@
7
7
  *
8
8
  * Can be switched to mock mode for testing via api-config.ts
9
9
  */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
10
43
  Object.defineProperty(exports, "__esModule", { value: true });
11
44
  exports.getNodeDownloadPage = exports.getAllSoundNodes = exports.hasNextPage = exports.getSoundNodesPage = void 0;
12
45
  const api_config_1 = require("./api-config");
13
- const MockApi = require("./my-instants.api.mock");
46
+ const MockApi = __importStar(require("./my-instants.api.mock"));
47
+ const rate_limiter_1 = require("../utils/rate-limiter");
14
48
  /**
15
49
  * Fetch a single page of sound nodes from myinstants.com
16
50
  * @param searchString The search term
@@ -25,7 +59,7 @@ const getSoundNodesPage = async ({ searchString, page = 1 }) => {
25
59
  }
26
60
  const escapedSearchParam = encodeURIComponent(searchString);
27
61
  const url = `https://www.myinstants.com/en/search/?name=${escapedSearchParam}&page=${page}`;
28
- const response = await fetch(url);
62
+ const response = await (0, rate_limiter_1.rateLimitedFetch)(url);
29
63
  if (!response.ok) {
30
64
  throw new Error(`Failed to fetch page ${page} for search: ${searchString}`);
31
65
  }
@@ -46,7 +80,7 @@ const hasNextPage = async ({ searchString, page = 1 }) => {
46
80
  const escapedSearchParam = encodeURIComponent(searchString);
47
81
  const url = `https://www.myinstants.com/en/search/?name=${escapedSearchParam}&page=${page + 1}`;
48
82
  try {
49
- const response = await fetch(url, { method: 'HEAD' });
83
+ const response = await (0, rate_limiter_1.rateLimitedFetch)(url, { method: 'HEAD' });
50
84
  return response.ok;
51
85
  }
52
86
  catch (error) {
@@ -96,7 +130,7 @@ const getNodeDownloadPage = async (soundNodeDetailsURL) => {
96
130
  return MockApi.getNodeDownloadPage(soundNodeDetailsURL);
97
131
  }
98
132
  const root = `https://www.myinstants.com${soundNodeDetailsURL}`;
99
- const response = await fetch(root);
133
+ const response = await (0, rate_limiter_1.rateLimitedFetch)(root);
100
134
  if (!response.ok) {
101
135
  throw new Error(`Failed to fetch sound detail page: ${soundNodeDetailsURL}`);
102
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"my-instants.api.js","sourceRoot":"","sources":["../../src/api/my-instants.api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"my-instants.api.js","sourceRoot":"","sources":["../../src/api/my-instants.api.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
7
  const my_instants_service_1 = require("./service/my-instants.service");
5
- const ora_1 = require("ora");
6
- const prompts_1 = require("@inquirer/prompts");
7
- const inquirer = require("@inquirer/prompts");
8
- const open_1 = require("open");
8
+ const ora_1 = __importDefault(require("ora"));
9
+ const prompts_1 = __importDefault(require("prompts"));
10
+ const opener_1 = __importDefault(require("opener"));
9
11
  const file_downloader_service_1 = require("./service/file-downloader.service");
10
12
  const selection_utils_1 = require("./utils/selection-utils");
11
13
  const pagination_utils_1 = require("./utils/pagination-utils");
@@ -22,11 +24,13 @@ process.on("uncaughtException", (error) => {
22
24
  // Check for --all flag
23
25
  const args = process.argv.slice(2);
24
26
  let shouldFetchAll = args.includes("--all");
25
- let answer = await (0, prompts_1.input)({
27
+ let answer = (await (0, prompts_1.default)({
28
+ type: 'text',
29
+ name: 'searchQuery',
26
30
  message: "🔍 What sound effects are you looking for?",
27
- required: true,
28
- default: "wilhelm scream",
29
- });
31
+ validate: (value) => value.trim() !== '' ? true : 'Please enter a search term',
32
+ initial: "wilhelm scream",
33
+ })).searchQuery;
30
34
  // Pagination flow
31
35
  if (!shouldFetchAll) {
32
36
  let currentPage = 1;
@@ -43,37 +47,39 @@ process.on("uncaughtException", (error) => {
43
47
  console.log((0, pagination_utils_1.getPaginationInfo)(currentPage, results.length, hasNextPage));
44
48
  // Prepare sound choices
45
49
  const soundChoices = results.map((sound) => ({
46
- name: `${sound.label} 🎵`,
50
+ title: `${sound.label} 🎵`,
47
51
  value: `${sound.label}||${sound.download_url}`,
48
52
  }));
49
53
  // Add navigation choices as separate actions
50
54
  const navigationChoices = [
51
- new inquirer.Separator("=== Navigation ==="),
52
55
  {
53
- name: hasPreviousPage ? "⏮️ Previous page" : "⏮️ Previous page (disabled)",
56
+ title: hasPreviousPage ? "⏮️ Previous page" : "⏮️ Previous page (disabled)",
54
57
  value: "action:prev-page",
55
58
  disabled: !hasPreviousPage
56
59
  },
57
60
  {
58
- name: hasNextPage ? "⏭️ Next page" : "⏭️ Next page (disabled)",
61
+ title: hasNextPage ? "⏭️ Next page" : "⏭️ Next page (disabled)",
59
62
  value: "action:next-page",
60
63
  disabled: !hasNextPage
61
64
  },
62
65
  {
63
- name: "🔍 New search",
66
+ title: "🔍 New search",
64
67
  value: "action:new-search"
65
68
  },
66
69
  {
67
- name: "📋 Show all results",
70
+ title: "📋 Show all results",
68
71
  value: "action:show-all"
69
72
  }
70
73
  ];
71
74
  const allChoices = [...soundChoices, ...navigationChoices];
72
- // Use radio selection instead of checkbox for single selection
73
- const selection = await (0, prompts_1.select)({
75
+ // Use select (radio) for single selection
76
+ const selectionResponse = await (0, prompts_1.default)({
77
+ type: 'select',
78
+ name: 'selection',
74
79
  message: "🎵 Select a sound or choose a navigation option:",
75
80
  choices: allChoices,
76
81
  });
82
+ const selection = selectionResponse.selection;
77
83
  // Handle navigation actions
78
84
  if ((0, pagination_utils_1.isNavigationAction)(selection)) {
79
85
  switch (selection) {
@@ -87,11 +93,13 @@ process.on("uncaughtException", (error) => {
87
93
  continue;
88
94
  case "action:new-search":
89
95
  // Reset for new search
90
- answer = await (0, prompts_1.input)({
96
+ answer = (await (0, prompts_1.default)({
97
+ type: 'text',
98
+ name: 'searchQuery',
91
99
  message: "🔍 What sound effects are you looking for?",
92
- required: true,
93
- default: answer,
94
- });
100
+ validate: (value) => value.trim() !== '' ? true : 'Please enter a search term',
101
+ initial: answer,
102
+ })).searchQuery;
95
103
  currentPage = 1;
96
104
  continue;
97
105
  case "action:show-all":
@@ -109,22 +117,25 @@ process.on("uncaughtException", (error) => {
109
117
  // Available actions for single sound selection
110
118
  const actions = [
111
119
  {
112
- name: "💾 Download",
120
+ title: "💾 Download",
113
121
  value: "action:download",
114
122
  },
115
123
  {
116
- name: "▶️ Play",
124
+ title: "▶️ Play",
117
125
  value: "action:play",
118
126
  },
119
127
  {
120
- name: "🔗 Show download URL (you can pipe this to other commands)",
128
+ title: "🔗 Show download URL (you can pipe this to other commands)",
121
129
  value: "action:show-url",
122
130
  },
123
131
  ];
124
- const action = await (0, prompts_1.select)({
132
+ const actionResponse = await (0, prompts_1.default)({
133
+ type: 'select',
134
+ name: 'action',
125
135
  message: (0, selection_utils_1.getSelectionMessage)(selections),
126
136
  choices: actions,
127
137
  });
138
+ const action = actionResponse.action;
128
139
  if (action === "action:show-url") {
129
140
  const firstSelection = (0, selection_utils_1.getFirstSelection)(selections);
130
141
  if (firstSelection) {
@@ -134,7 +145,7 @@ process.on("uncaughtException", (error) => {
134
145
  if (action === "action:play") {
135
146
  const firstSelection = (0, selection_utils_1.getFirstSelection)(selections);
136
147
  if (firstSelection) {
137
- (0, open_1.default)(firstSelection.downloadUrl);
148
+ (0, opener_1.default)(firstSelection.downloadUrl);
138
149
  }
139
150
  }
140
151
  if (action === "action:download") {
@@ -186,19 +197,23 @@ process.on("uncaughtException", (error) => {
186
197
  catch (error) {
187
198
  spinner.stop();
188
199
  console.error("❌ Error loading results:", error instanceof Error ? error.message : String(error));
189
- const retry = await (0, prompts_1.select)({
200
+ const retryResponse = await (0, prompts_1.default)({
201
+ type: 'select',
202
+ name: 'retry',
190
203
  message: "What would you like to do?",
191
204
  choices: [
192
- { name: "🔍 Try a new search", value: "new-search" },
193
- { name: "🚪 Exit", value: "exit" },
205
+ { title: "🔍 Try a new search", value: "new-search" },
206
+ { title: "🚪 Exit", value: "exit" },
194
207
  ],
195
208
  });
196
- if (retry === "new-search") {
197
- answer = await (0, prompts_1.input)({
209
+ if (retryResponse.retry === "new-search") {
210
+ answer = (await (0, prompts_1.default)({
211
+ type: 'text',
212
+ name: 'searchQuery',
198
213
  message: "🔍 What sound effects are you looking for?",
199
- required: true,
200
- default: answer,
201
- });
214
+ validate: (value) => value.trim() !== '' ? true : 'Please enter a search term',
215
+ initial: answer,
216
+ })).searchQuery;
202
217
  currentPage = 1;
203
218
  continue;
204
219
  }
@@ -219,20 +234,23 @@ process.on("uncaughtException", (error) => {
219
234
  const allResults = await (0, my_instants_service_1.getAllResults)(answer);
220
235
  spinner.stop();
221
236
  console.log(`🎉 Found ${allResults.length} sound${allResults.length !== 1 ? "s" : ""}!`);
222
- const rawSelections = await (0, prompts_1.checkbox)({
237
+ const rawSelectionsResponse = await (0, prompts_1.default)({
238
+ type: 'multiselect',
239
+ name: 'selections',
223
240
  message: "🎵 Which sounds to download? (use space to select multiple, arrows to navigate, search for something directly)",
224
241
  choices: allResults.map((sound) => ({
225
- name: `${sound.label} 🎵`,
242
+ title: `${sound.label} 🎵`,
226
243
  value: `${sound.label}||${sound.download_url}`,
227
244
  })),
228
245
  });
246
+ const rawSelections = rawSelectionsResponse.selections || [];
229
247
  // Parse and validate selections
230
248
  const selections = (0, selection_utils_1.parseSelections)(rawSelections);
231
249
  const multipleSelected = (0, selection_utils_1.isMultipleSelection)(selections);
232
250
  // Determine available actions based on selection count
233
251
  let actions = [
234
252
  {
235
- name: "💾 Download",
253
+ title: "💾 Download",
236
254
  value: "action:download",
237
255
  },
238
256
  ];
@@ -241,19 +259,22 @@ process.on("uncaughtException", (error) => {
241
259
  actions = [
242
260
  ...actions,
243
261
  {
244
- name: "▶️ Play",
262
+ title: "▶️ Play",
245
263
  value: "action:play",
246
264
  },
247
265
  {
248
- name: "🔗 Show download URL (you can pipe this to other commands)",
266
+ title: "🔗 Show download URL (you can pipe this to other commands)",
249
267
  value: "action:show-url",
250
268
  },
251
269
  ];
252
270
  }
253
- const action = await (0, prompts_1.select)({
271
+ const actionResponse = await (0, prompts_1.default)({
272
+ type: 'select',
273
+ name: 'action',
254
274
  message: (0, selection_utils_1.getSelectionMessage)(selections),
255
275
  choices: actions,
256
276
  });
277
+ const action = actionResponse.action;
257
278
  if (action === "action:show-url" && !multipleSelected) {
258
279
  const firstSelection = (0, selection_utils_1.getFirstSelection)(selections);
259
280
  if (firstSelection) {
@@ -263,7 +284,7 @@ process.on("uncaughtException", (error) => {
263
284
  if (action === "action:play" && !multipleSelected) {
264
285
  const firstSelection = (0, selection_utils_1.getFirstSelection)(selections);
265
286
  if (firstSelection) {
266
- (0, open_1.default)(firstSelection.downloadUrl);
287
+ (0, opener_1.default)(firstSelection.downloadUrl);
267
288
  }
268
289
  }
269
290
  if (action === "action:download") {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.downloadFile = void 0;
4
- const https = require("https");
5
- const fs = require("fs");
37
+ const https = __importStar(require("https"));
38
+ const fs = __importStar(require("fs"));
6
39
  const downloadFile = (url, config) => {
7
40
  const file = fs.createWriteStream(config.destination);
8
41
  https.get(url, function (response) {
@@ -1 +1 @@
1
- {"version":3,"file":"file-downloader.service.js","sourceRoot":"","sources":["../../src/service/file-downloader.service.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yBAAyB;AAElB,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,MAIC,EACD,EAAE;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,QAAQ;QAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB"}
1
+ {"version":3,"file":"file-downloader.service.js","sourceRoot":"","sources":["../../src/service/file-downloader.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,uCAAyB;AAElB,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,MAIC,EACD,EAAE;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,QAAQ;QAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB"}
@@ -1,9 +1,42 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.getAllResults = exports.getPaginatedResults = exports.getSoundNodesPage = void 0;
4
37
  const my_instants_api_1 = require("../api/my-instants.api");
5
38
  const validation_schemas_1 = require("../api/validation-schemas");
6
- const jsdom = require("jsdom");
39
+ const jsdom = __importStar(require("jsdom"));
7
40
  // Simple in-memory cache for paginated results
8
41
  const pageCache = new Map();
9
42
  const getCacheKey = (searchString, page) => {
@@ -1 +1 @@
1
- {"version":3,"file":"my-instants.service.js","sourceRoot":"","sources":["../../src/service/my-instants.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"my-instants.service.js","sourceRoot":"","sources":["../../src/service/my-instants.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Rate limiting utility to ensure compliance with MyInstants Terms of Use
4
+ * Adds reasonable delays between requests to avoid being seen as scraping
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getRateLimitDelay = exports.resetRateLimiter = exports.rateLimitedFetch = void 0;
8
+ /**
9
+ * Minimum delay between requests (in milliseconds)
10
+ * This helps avoid being flagged as automated scraping
11
+ */
12
+ const MIN_REQUEST_DELAY = 1000; // 1 second
13
+ /**
14
+ * Track the last request time for rate limiting
15
+ */
16
+ let lastRequestTime = 0;
17
+ /**
18
+ * Rate-limited fetch wrapper
19
+ * Ensures minimum delay between consecutive requests to MyInstants
20
+ */
21
+ const rateLimitedFetch = async (input, init) => {
22
+ // Calculate time since last request
23
+ const now = Date.now();
24
+ const timeSinceLastRequest = now - lastRequestTime;
25
+ // If we're making requests too quickly, add a delay
26
+ if (timeSinceLastRequest < MIN_REQUEST_DELAY) {
27
+ const delayNeeded = MIN_REQUEST_DELAY - timeSinceLastRequest;
28
+ await new Promise(resolve => setTimeout(resolve, delayNeeded));
29
+ }
30
+ // Update last request time
31
+ lastRequestTime = Date.now();
32
+ // Make the actual fetch request
33
+ return fetch(input, init);
34
+ };
35
+ exports.rateLimitedFetch = rateLimitedFetch;
36
+ /**
37
+ * Reset the rate limiter (useful for testing)
38
+ */
39
+ const resetRateLimiter = () => {
40
+ lastRequestTime = 0;
41
+ };
42
+ exports.resetRateLimiter = resetRateLimiter;
43
+ /**
44
+ * Get the current rate limit delay
45
+ */
46
+ const getRateLimitDelay = () => {
47
+ return MIN_REQUEST_DELAY;
48
+ };
49
+ exports.getRateLimitDelay = getRateLimitDelay;
50
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,WAAW;AAE3C;;GAEG;AACH,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB;;;GAGG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;IACxG,oCAAoC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,oBAAoB,GAAG,GAAG,GAAG,eAAe,CAAC;IAEnD,oDAAoD;IACpD,IAAI,oBAAoB,GAAG,iBAAiB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;QAC7D,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B;IAC3B,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,gCAAgC;IAChC,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEF;;GAEG;AACI,MAAM,gBAAgB,GAAG,GAAS,EAAE;IACzC,eAAe,GAAG,CAAC,CAAC;AACtB,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC5C,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@purpleproser/soundboard-downloader-cli",
3
- "version": "1.6.2",
4
- "description": "Easily download sounds from myinstants.com using this interactive CLI tool",
3
+ "version": "1.7.0",
4
+ "description": "Easily download sounds from myinstants.com using this interactive CLI tool (for personal, non-commercial use only)",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -13,9 +13,9 @@
13
13
  "soundboard-downloader": "./dist/main.js"
14
14
  },
15
15
  "scripts": {
16
- "test": "vitest",
16
+ "test": "vitest --coverage",
17
17
  "start": "ts-node ./src/main.ts",
18
- "build": "tsc -p tsconfig.prod.json",
18
+ "build": "tsc -p tsconfig.build.json",
19
19
  "prepublishOnly": "npm run build"
20
20
  },
21
21
  "keywords": [
@@ -36,15 +36,18 @@
36
36
  "homepage": "https://github.com/blacksagres/soundboard-downloader-cli#readme",
37
37
  "devDependencies": {
38
38
  "@types/jsdom": "^28.0.0",
39
+ "@types/opener": "^1.4.3",
40
+ "@types/prompts": "^2.4.9",
41
+ "@vitest/coverage-v8": "^4.0.18",
39
42
  "ts-node": "^10.9.2",
40
43
  "typescript": "^5.9.3",
41
44
  "vitest": "^4.0.18"
42
45
  },
43
46
  "dependencies": {
44
- "@inquirer/prompts": "^8.2.0",
45
47
  "jsdom": "^28.0.0",
46
- "open": "^11.0.0",
48
+ "opener": "^1.5.2",
47
49
  "ora": "^9.3.0",
50
+ "prompts": "^2.4.2",
48
51
  "valibot": "^1.2.0"
49
52
  }
50
53
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig",
3
+ "exclude": ["**/*.test.ts", "**/*.mock.ts", "vitest.config.ts"],
4
+ "compilerOptions": {
5
+ "declaration": false,
6
+ "declarationMap": false
7
+ }
8
+ }
package/tsconfig.json CHANGED
@@ -37,6 +37,7 @@
37
37
  "isolatedModules": true,
38
38
  "noUncheckedSideEffectImports": true,
39
39
  "moduleDetection": "force",
40
- "skipLibCheck": true
40
+ "skipLibCheck": true,
41
+ "esModuleInterop": true
41
42
  }
42
43
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "extends": "./tsconfig",
3
- "exclude": ["**/*.test.ts", "**/*.mock.ts"],
3
+ "exclude": ["**/*.test.ts", "**/*.mock.ts", "vitest.config.ts"],
4
4
  "compilerOptions": {
5
5
  "declaration": false,
6
6
  "declarationMap": false
@@ -0,0 +1,53 @@
1
+ Score report for "pkg:npm/@purpleproser/soundboard-downloader-cli" (use --json for raw and --markdown for formatted reports):
2
+ {
3
+ purl: 'pkg:npm/@purpleproser/soundboard-downloader-cli',
4
+ self: {
5
+ purl: 'npm/@purpleproser/soundboard-downloader-cli@1.6.3',
6
+ score: {
7
+ license: 100,
8
+ maintenance: 93,
9
+ overall: 73,
10
+ quality: 100,
11
+ supplyChain: 73,
12
+ vulnerability: 100
13
+ },
14
+ capabilities: [ 'fs', 'net', 'url' ],
15
+ alerts: [ [Object], [Object], [Object] ]
16
+ },
17
+ transitively: {
18
+ dependencyCount: 67,
19
+ func: 'min',
20
+ score: {
21
+ license: 100,
22
+ maintenance: 75,
23
+ overall: 65,
24
+ quality: 65,
25
+ supplyChain: 71,
26
+ vulnerability: 100
27
+ },
28
+ lowest: {
29
+ license: 'npm/prompts@2.4.2',
30
+ maintenance: 'npm/symbol-tree@3.2.4',
31
+ overall: 'npm/restore-cursor@5.1.0',
32
+ quality: 'npm/restore-cursor@5.1.0',
33
+ supplyChain: 'npm/undici@7.22.0',
34
+ vulnerability: 'npm/prompts@2.4.2'
35
+ },
36
+ capabilities: [
37
+ 'env', 'eval',
38
+ 'fs', 'net',
39
+ 'shell', 'unsafe',
40
+ 'url'
41
+ ],
42
+ alerts: [
43
+ [Object], [Object],
44
+ [Object], [Object],
45
+ [Object], [Object],
46
+ [Object], [Object],
47
+ [Object], [Object],
48
+ [Object], [Object],
49
+ [Object], [Object]
50
+ ]
51
+ }
52
+ }
53
+