Skip to content

Commit 6d47869

Browse files
committed
Merge remote-tracking branch 'origin/main' into facelift
2 parents ca2e809 + 1ee6329 commit 6d47869

15 files changed

Lines changed: 1137 additions & 156 deletions

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@
55

66
# Mark lock files as generated to avoid diffing
77
bun.lock linguist-generated
8+
9+
# Mark other generated files as generated
10+
src/crawlers/__tests__/fixtures/chrome-web-store/*.html linguist-generated=true

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,7 @@ tsconfig.tsbuildinfo
2222
# .env files
2323
.env
2424
.env.*
25+
26+
# Other Files
27+
src/crawlers/__tests__/fixtures/chrome-web-store/.new/*
28+
!src/crawlers/__tests__/fixtures/chrome-web-store/.new/.keep

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/__tests__/fixtures/**

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,62 @@
11
# Changelog
22

3+
## v0.3.20
4+
5+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.19...v0.3.20)
6+
7+
### 🏡 Chore
8+
9+
- Comment out debugging file write ([2c53851](https://github.com/wxt-dev/queue/commit/2c53851))
10+
- Add comment detailing adding test fixture for chrome crawler ([4ff5618](https://github.com/wxt-dev/queue/commit/4ff5618))
11+
12+
## v0.3.19
13+
14+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.18...v0.3.19)
15+
16+
### 🩹 Fixes
17+
18+
- Refactor CWS crawler to more safely extract extension details ([#5](https://github.com/wxt-dev/queue/pull/5))
19+
20+
## v0.3.18
21+
22+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.17...v0.3.18)
23+
24+
### 🩹 Fixes
25+
26+
- Fix broken chrome crawler after layout change ([f702361](https://github.com/wxt-dev/queue/commit/f702361))
27+
28+
### 🏡 Chore
29+
30+
- Update failing tests ([2ced470](https://github.com/wxt-dev/queue/commit/2ced470))
31+
32+
## v0.3.17
33+
34+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.16...v0.3.17)
35+
36+
### 🩹 Fixes
37+
38+
- Remove logs ([762e25a](https://github.com/wxt-dev/queue/commit/762e25a))
39+
40+
## v0.3.16
41+
42+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.15...v0.3.16)
43+
44+
### 🩹 Fixes
45+
46+
- Properly remove the second comma from user counts over 1,000,000 ([b43d9af](https://github.com/wxt-dev/queue/commit/b43d9af))
47+
48+
### 🏡 Chore
49+
50+
- Update lockfile ([f800177](https://github.com/wxt-dev/queue/commit/f800177))
51+
52+
## v0.3.15
53+
54+
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.14...v0.3.15)
55+
56+
### 🩹 Fixes
57+
58+
- Remove log ([e53264c](https://github.com/wxt-dev/queue/commit/e53264c))
59+
360
## v0.3.14
461

562
[compare changes](https://github.com/wxt-dev/queue/compare/v0.3.13...v0.3.14)

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Aaron Klinker
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@wxt-dev/queue",
3-
"version": "0.3.14",
3+
"version": "0.3.20",
44
"type": "module",
55
"packageManager": "bun@1.2.18",
66
"scripts": {
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
// Bun Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`Chrome Web Store Crawler should extract extension details from 2025-02-26-kofbbilhmnkcmibjbioafflgmpkbnmme.html 1`] = `
4+
{
5+
"iconUrl": "https://lh3.googleusercontent.com/5JM36LnZNUMFJCJlc7Qqk8QWFYIwfqRYmAdsUhG8inAnw5LNub7ukwq37-Tw3jiDIyBbz-CAKg_ZXgERZ_gJu-0GDg=s256",
6+
"id": "kofbbilhmnkcmibjbioafflgmpkbnmme",
7+
"lastUpdated": "January 10, 2025",
8+
"longDescription":
9+
"HTML to Markdown – a straightforward Chrome extension designed to convert most web pages into markdown format effortlessly.
10+
As a developer, I often found myself needing to pull high-quality documentation from websites and reformat it for use with AI chat tools. That's why I created the "HTML to Markdown" Chrome extension. This free tool quickly converts web page content into clean Markdown, making it perfect for feeding into large language models or any other AI powered chats.
11+
Use Cases:
12+
Bloggers & Content Creators: Easily grab content from articles or research pages for your own posts.
13+
Developers: Copy code snippets and documentation into README files, project notes, or for use with large language models.
14+
Students & Researchers: Quickly extract information from online resources for papers and reports.
15+
Technical Writers: Convert website content to create guides and documentation.
16+
Note Taking: Convert articles or documentation into markdown notes.
17+
AI Integration: Extract and convert relevant website information into markdown for input into AI powered chat tools."
18+
,
19+
"name": "HTML to Markdown",
20+
"rating": 0,
21+
"reviewCount": 0,
22+
"screenshots": [
23+
{
24+
"index": 5,
25+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/5",
26+
"rawUrl": "https://lh3.googleusercontent.com/SwOe0XmN3ZkCkJQ4IF1a1i2qqCsw0b7I-Ez6VSQflAvafwiJhGbdRW6YAKNX8fAwdv159XogYSFc5Uykgt1fsYSv=s1280",
27+
},
28+
{
29+
"index": 1,
30+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/1",
31+
"rawUrl": "https://lh3.googleusercontent.com/vDnkawI_rgAd5ou0gasjR5CQbm-HmbTj9SBTdlpxU_-ri1jeE9dz0qNnSOijaboiUd4tuwQBGg-ujIO-znDN4-InVZA=s1280",
32+
},
33+
{
34+
"index": 2,
35+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/2",
36+
"rawUrl": "https://lh3.googleusercontent.com/F9H2EBxfqxrriMb0zdjoFIiCufav1oV8QI-enLqT9AEuL0nPFJLaj0286R2UH_ekxLoVa-yO76f5sSDOAjEuORrRLg=s1280",
37+
},
38+
{
39+
"index": 3,
40+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/3",
41+
"rawUrl": "https://lh3.googleusercontent.com/kkK_WlsYeZNGK-sU-4nvH-sEXtx7xUMuqpsK-IHq29IUkmyC3C40n1DDsDdt0f6-LgbKGL_obH_Cse-zJWJPHk-OLQ=s1280",
42+
},
43+
{
44+
"index": 4,
45+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/4",
46+
"rawUrl": "https://lh3.googleusercontent.com/VJy9hYOMvlmwp2FhtrpIm8hNwwJVZWl-V4dZVl2cCl4aD8xNyuHaEgdm5bfjMBiZJXI0ysxul8P1GAyFaJrRvjDSuMY=s1280",
47+
},
48+
{
49+
"index": 5,
50+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/5",
51+
"rawUrl": "https://lh3.googleusercontent.com/SwOe0XmN3ZkCkJQ4IF1a1i2qqCsw0b7I-Ez6VSQflAvafwiJhGbdRW6YAKNX8fAwdv159XogYSFc5Uykgt1fsYSv=s1280",
52+
},
53+
{
54+
"index": 1,
55+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/1",
56+
"rawUrl": "https://lh3.googleusercontent.com/vDnkawI_rgAd5ou0gasjR5CQbm-HmbTj9SBTdlpxU_-ri1jeE9dz0qNnSOijaboiUd4tuwQBGg-ujIO-znDN4-InVZA=s1280",
57+
},
58+
{
59+
"index": 2,
60+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/2",
61+
"rawUrl": "https://lh3.googleusercontent.com/F9H2EBxfqxrriMb0zdjoFIiCufav1oV8QI-enLqT9AEuL0nPFJLaj0286R2UH_ekxLoVa-yO76f5sSDOAjEuORrRLg=s1280",
62+
},
63+
{
64+
"index": 3,
65+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/3",
66+
"rawUrl": "https://lh3.googleusercontent.com/kkK_WlsYeZNGK-sU-4nvH-sEXtx7xUMuqpsK-IHq29IUkmyC3C40n1DDsDdt0f6-LgbKGL_obH_Cse-zJWJPHk-OLQ=s1280",
67+
},
68+
{
69+
"index": 4,
70+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/4",
71+
"rawUrl": "https://lh3.googleusercontent.com/VJy9hYOMvlmwp2FhtrpIm8hNwwJVZWl-V4dZVl2cCl4aD8xNyuHaEgdm5bfjMBiZJXI0ysxul8P1GAyFaJrRvjDSuMY=s1280",
72+
},
73+
{
74+
"index": 5,
75+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/kofbbilhmnkcmibjbioafflgmpkbnmme/screenshots/5",
76+
"rawUrl": "https://lh3.googleusercontent.com/SwOe0XmN3ZkCkJQ4IF1a1i2qqCsw0b7I-Ez6VSQflAvafwiJhGbdRW6YAKNX8fAwdv159XogYSFc5Uykgt1fsYSv=s1280",
77+
},
78+
],
79+
"shortDescription": "Convert webpages to Markdown. Easily convert headers, text, tables or code snippets to Markdown.",
80+
"storeUrl": "https://chromewebstore.google.com/detail/html-to-markdown/kofbbilhmnkcmibjbioafflgmpkbnmme?hl=en",
81+
"version": "0.0.13",
82+
"weeklyActiveUsers": 77,
83+
}
84+
`;
85+
86+
exports[`Chrome Web Store Crawler should extract extension details from 2025-02-26-oadbjpccljkplmhnjekgjamejnbadlne.html 1`] = `undefined`;
87+
88+
exports[`Chrome Web Store Crawler should extract extension details from 2025-02-26-ocfdgncpifmegplaglcnglhioflaimkd.html 1`] = `
89+
{
90+
"iconUrl": "https://lh3.googleusercontent.com/GcffNyCJaxT2G9dsQCJHhUEMlu_E0vEzph5cLPrQj7UHKat7QyCzGu69Dmp_DDUL8rY-bPMFJceQarS1wcqdwTalTg=s256",
91+
"id": "ocfdgncpifmegplaglcnglhioflaimkd",
92+
"lastUpdated": "October 20, 2024",
93+
"longDescription":
94+
"Isn't it annoying when you open a small PR, but when you look at the diff, it's +2000 -16 because you installed a new library? Or what if you had to review that PR, don't line counts like that dissuade you from starting the review?
95+
In reality, lots of code is generated nowadays and GitHub's line counts are not representative of a PR's true size.
96+
This extension subtracts generated files from the total line counts, giving you a better idea of how big a PR really is. That's it. That's all it does.
97+
Generated files are detected from the branch's root .gitattributes file. See GitHub's docs to learn how to mark a file as generated: https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github
98+
For a simple example, checkout this extension's .gitattributes file! https://github.com/aklinker1/github-better-line-counts/blob/main/.gitattributes
99+
---
100+
The extension is open source. Feel free to contribute if you have any ideas or just star it 😀
101+
https://github.com/aklinker1/github-better-line-counts"
102+
,
103+
"name": "GitHub: Better Line Counts",
104+
"rating": 5,
105+
"reviewCount": 4,
106+
"screenshots": [
107+
{
108+
"index": 0,
109+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/ocfdgncpifmegplaglcnglhioflaimkd/screenshots/0",
110+
"rawUrl": "https://lh3.googleusercontent.com/GUgh0ThX2FDPNvbaumYl4DqsUhsbYiCe-Hut9FoVEnkmTrXyA-sHbMk5jmZTj_t-dDP8rAmy6X6a6GNTCn9F8zo4VYU=s1280",
111+
},
112+
{
113+
"index": 1,
114+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/ocfdgncpifmegplaglcnglhioflaimkd/screenshots/1",
115+
"rawUrl": "https://lh3.googleusercontent.com/qRi-kO0il8W6CnWa_-7oFzCwWKwr73w607I-rpYF9MM27omsuoN0k4dkgBbBECD3vZszdTSkQnoW9sywsfvAQ_7M9Q=s1280",
116+
},
117+
],
118+
"shortDescription": "Remove generated files from GitHub line counts",
119+
"storeUrl": "https://chromewebstore.google.com/detail/github-better-line-counts/ocfdgncpifmegplaglcnglhioflaimkd?hl=en",
120+
"version": "1.7.1",
121+
"weeklyActiveUsers": 251,
122+
}
123+
`;
124+
125+
exports[`Chrome Web Store Crawler should extract extension details from 2025-02-26-odffpjnpocjfcaclnenaaaddghkgijdb.html 1`] = `
126+
{
127+
"iconUrl": "https://lh3.googleusercontent.com/Tr_1QA0fh5O5L5Bi3Moz6bPKxu1fC7aMrH_dCcKeLiBhjLCGmn46j59unBNxZdQ3fEymS_YXj2CHdsM-FE5vNzSEPg=s256",
128+
"id": "odffpjnpocjfcaclnenaaaddghkgijdb",
129+
"lastUpdated": "January 20, 2025",
130+
"longDescription":
131+
"Preview links in a popup without opening new tabs. Quickly search using text selection, select text using selection handler and search using keyboard shortcuts while staying on the same page.
132+
Preview Links Instantly
133+
Hover over or click on links to preview content in a popup, without navigating away from your current tab. Save time and stay focused.
134+
🔍 Search Smarter
135+
Search the web directly from any page without opening a new tab. Use the selection popup or open a quick search bar using keyboard shortcut to search anything instantly.
136+
🤖 Turn Your AI Into an Assistant
137+
Use your favorite AI tools like ChatGPT or Gemini automated by Blync. Set action items with prompt, on any text selection the item shows in popup and clicking on it opens AI prompt in popup or sidebar.
138+
👉 Is it safe to use Blync?
139+
Absolutely! Blync is 100% secure.
140+
Its serverless and runs entirely within your browser.
141+
We dont track, store, or access your data.
142+
Everything stays private and local.
143+
👉 Does Blync Link Preview work on all websites?
144+
Yes! Blync works seamlessly on any website.
145+
👉 Do I need an AI account to use the AI Assistant?
146+
Yes. Blync doesnt provide AI services.
147+
Blync automates the process, making it faster and easier for you to access AI features.
148+
👉 What AI agents does Blync support?
149+
Currently, Blync supports: ChatGPT, Gemini and Claude
150+
💡 Why Choose Blync?
151+
Stay Focused: No more tab overload or switching between windows.
152+
Boost Productivity: Access essential tools and information faster.
153+
Seamless Integration: Works effortlessly with the tools you already love.
154+
Whether you're working, learning or just exploring the web Blync keeps everything within reach and helps you stay in the flow.
155+
➡️ Install Blync now and make every click count!"
156+
,
157+
"name": "Blync: Preview Links, Selection Search and AI Sidebar & Popup",
158+
"rating": 5,
159+
"reviewCount": 2,
160+
"screenshots": [
161+
{
162+
"index": 5,
163+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/5",
164+
"rawUrl": "https://lh3.googleusercontent.com/MXf271aHeP9deq2VjO0-_QDU-VSKgu81hcc9iKNMbAg74sI1RnvOb7Esgy95P-NTrQ7vVJtW2fMOPnTYv8pnbnMEng=s1280",
165+
},
166+
{
167+
"index": 1,
168+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/1",
169+
"rawUrl": "https://lh3.googleusercontent.com/WVvtpr2Wzfr4zT34Z_Gy39ZL-I8UOZ5uReOAz-vmtC8lT4hebXlnur7y0bAWzXd6xihMbTP_PfZgQN_C4MfhixI2=s1280",
170+
},
171+
{
172+
"index": 2,
173+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/2",
174+
"rawUrl": "https://lh3.googleusercontent.com/e3JEIuiGu_dI70zGBPBXzL9YNZuHy8nItCoEKJSql56CcUVyIQC9Lor8HkeScWE2-qAFw5DLZQijXEfNxlInSoLl0DE=s1280",
175+
},
176+
{
177+
"index": 3,
178+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/3",
179+
"rawUrl": "https://lh3.googleusercontent.com/O9OuxL28A3GOp5-R8u2kyV9wkOchMTx0ZNWraAz93gqThZRwVpCbaEW0VL1bZ0dKaKr0ReN0qJYJfSFAPOkCuOGA=s1280",
180+
},
181+
{
182+
"index": 4,
183+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/4",
184+
"rawUrl": "https://lh3.googleusercontent.com/vfXSijB8FQ4hkARrKdJJfXe3b_ahd8yXsSuAbbKNwU9yondg0SIj1fenPJRosimBMo8bi1hj99lypD1CS1y1KhJE=s1280",
185+
},
186+
{
187+
"index": 5,
188+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/5",
189+
"rawUrl": "https://lh3.googleusercontent.com/MXf271aHeP9deq2VjO0-_QDU-VSKgu81hcc9iKNMbAg74sI1RnvOb7Esgy95P-NTrQ7vVJtW2fMOPnTYv8pnbnMEng=s1280",
190+
},
191+
{
192+
"index": 1,
193+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/1",
194+
"rawUrl": "https://lh3.googleusercontent.com/WVvtpr2Wzfr4zT34Z_Gy39ZL-I8UOZ5uReOAz-vmtC8lT4hebXlnur7y0bAWzXd6xihMbTP_PfZgQN_C4MfhixI2=s1280",
195+
},
196+
{
197+
"index": 2,
198+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/2",
199+
"rawUrl": "https://lh3.googleusercontent.com/e3JEIuiGu_dI70zGBPBXzL9YNZuHy8nItCoEKJSql56CcUVyIQC9Lor8HkeScWE2-qAFw5DLZQijXEfNxlInSoLl0DE=s1280",
200+
},
201+
{
202+
"index": 3,
203+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/3",
204+
"rawUrl": "https://lh3.googleusercontent.com/O9OuxL28A3GOp5-R8u2kyV9wkOchMTx0ZNWraAz93gqThZRwVpCbaEW0VL1bZ0dKaKr0ReN0qJYJfSFAPOkCuOGA=s1280",
205+
},
206+
{
207+
"index": 4,
208+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/4",
209+
"rawUrl": "https://lh3.googleusercontent.com/vfXSijB8FQ4hkARrKdJJfXe3b_ahd8yXsSuAbbKNwU9yondg0SIj1fenPJRosimBMo8bi1hj99lypD1CS1y1KhJE=s1280",
210+
},
211+
{
212+
"index": 5,
213+
"indexUrl": "http://localhost:3000/api/rest/chrome-extensions/odffpjnpocjfcaclnenaaaddghkgijdb/screenshots/5",
214+
"rawUrl": "https://lh3.googleusercontent.com/MXf271aHeP9deq2VjO0-_QDU-VSKgu81hcc9iKNMbAg74sI1RnvOb7Esgy95P-NTrQ7vVJtW2fMOPnTYv8pnbnMEng=s1280",
215+
},
216+
],
217+
"shortDescription": "Preview links, search the web without leaving your current tab and use AI (ChatGPT, Gemini) in popup and sidebar",
218+
"storeUrl": "https://chromewebstore.google.com/detail/blync-preview-links-selec/odffpjnpocjfcaclnenaaaddghkgijdb?hl=en",
219+
"version": "0.3.3",
220+
"weeklyActiveUsers": 40,
221+
}
222+
`;
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { describe, expect, it } from "bun:test";
2+
import { crawlExtension } from "../chrome-crawler";
3+
4+
const githubBetterLineCountsId = "ocfdgncpifmegplaglcnglhioflaimkd";
5+
6+
describe("Chrome Web Store Crawler E2E", () => {
7+
it("should load and crawl an extension ID correctly", async () => {
8+
const res = await crawlExtension(githubBetterLineCountsId, "en", true);
9+
10+
expect(res).toEqual({
11+
iconUrl:
12+
"https://lh3.googleusercontent.com/GcffNyCJaxT2G9dsQCJHhUEMlu_E0vEzph5cLPrQj7UHKat7QyCzGu69Dmp_DDUL8rY-bPMFJceQarS1wcqdwTalTg=s256",
13+
id: githubBetterLineCountsId,
14+
lastUpdated: expect.any(String),
15+
longDescription: expect.stringContaining("Isn't it annoying when you"),
16+
name: "GitHub: Better Line Counts",
17+
rating: expect.any(Number),
18+
reviewCount: expect.any(Number),
19+
shortDescription: "Remove generated files from GitHub line counts",
20+
storeUrl: expect.stringContaining(
21+
"https://chromewebstore.google.com/detail/github-better-line-counts/ocfdgncpifmegplaglcnglhioflaimkd",
22+
),
23+
version: expect.any(String),
24+
weeklyActiveUsers: expect.any(Number),
25+
screenshots: [
26+
{
27+
index: 0,
28+
indexUrl:
29+
"http://localhost:3000/api/rest/chrome-extensions/ocfdgncpifmegplaglcnglhioflaimkd/screenshots/0",
30+
rawUrl: expect.any(String),
31+
},
32+
{
33+
index: 1,
34+
indexUrl:
35+
"http://localhost:3000/api/rest/chrome-extensions/ocfdgncpifmegplaglcnglhioflaimkd/screenshots/1",
36+
rawUrl: expect.any(String),
37+
},
38+
],
39+
});
40+
});
41+
});

0 commit comments

Comments
 (0)