Compare commits

..

48 Commits

Author SHA1 Message Date
github-actions[bot] c2defe224a chore: release 3.1.0 (#774) 2020-11-22 11:57:58 -05:00
Chris Mendoza e552c9102d feat(store): add corsair sfx PSUs (#881) 2020-11-22 11:57:05 -05:00
Jef LeCompte 292e3603fd fix(store): generate links only for selected stores
Resolves: #694
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-22 11:53:17 -05:00
Jef LeCompte 85bbaf905e chore(xbox): add xbox series x
Closes: #836
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-22 11:34:30 -05:00
Armando D Jagucki 432d38bd5a chore(amazon): add big navi links (#880) 2020-11-22 10:08:22 -05:00
Sebastian 2d01cfddff feat(store): add captcha check to saturn and mediamarkt (#876) 2020-11-21 15:10:21 -05:00
Cristian 53739e05ab feat(store): add vsgamers (#767) 2020-11-21 13:28:01 -05:00
Jef LeCompte 9ad9793dc1 chore: update dependencies (#874)
Additional linting fixes

Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-21 10:55:03 -05:00
dependabot[bot] f6f5c6bfe7 chore(deps): bump twitch-auth from 4.2.7 to 4.3.0 (#853)
Bumps [twitch-auth](https://github.com/d-fischer/twitch/tree/HEAD/packages/twitch-auth) from 4.2.7 to 4.3.0.
- [Release notes](https://github.com/d-fischer/twitch/releases)
- [Commits](https://github.com/d-fischer/twitch/commits/v4.3.0/packages/twitch-auth)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-21 10:37:24 -05:00
SolidPIPe 28c965d653 docs: remove duplicated models (#861) 2020-11-21 10:31:56 -05:00
Asier Eguibar 4b689cb94e feat(coolmod): add maxPrice (#862) 2020-11-21 10:31:36 -05:00
Barmaley13 c3f38fb2c9 chore: add more 3070 cards, reorder links (#872) 2020-11-21 10:29:10 -05:00
dependabot[bot] 239b5d3e8a chore(deps): bump twitch-chat-client from 4.2.7 to 4.3.0 (#856)
Bumps [twitch-chat-client](https://github.com/d-fischer/twitch/tree/HEAD/packages/twitch-chat-client) from 4.2.7 to 4.3.0.
- [Release notes](https://github.com/d-fischer/twitch/releases)
- [Commits](https://github.com/d-fischer/twitch/commits/v4.3.0/packages/twitch-chat-client)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-21 09:49:05 -05:00
dependabot[bot] 7694829dd6 chore(deps): bump twitch from 4.2.7 to 4.3.0 (#857)
Bumps [twitch](https://github.com/d-fischer/twitch/tree/HEAD/packages/twitch) from 4.2.7 to 4.3.0.
- [Release notes](https://github.com/d-fischer/twitch/releases)
- [Commits](https://github.com/d-fischer/twitch/commits/v4.3.0/packages/twitch)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-21 09:45:54 -05:00
Jef LeCompte d7921168cb chore: remove dependencies label 2020-11-19 18:28:51 -05:00
dependabot[bot] 9745190ee4 chore(deps-dev): bump webpack from 5.4.0 to 5.6.0 (#846)
Bumps [webpack](https://github.com/webpack/webpack) from 5.4.0 to 5.6.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.4.0...v5.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-19 18:08:50 -05:00
Jef LeCompte b5435643da chore: add quotes to .env-example
Based off #824

Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-19 18:07:16 -05:00
Jef LeCompte af631c86f1 revert: correcting newline split for multiple user agents
Ref: f16a9fb331, #824
2020-11-19 18:05:50 -05:00
dependabot[bot] 5eb36a6cb7 chore(deps): bump node-pagerduty from 1.3.5 to 1.3.6 (#845)
Bumps [node-pagerduty](https://github.com/kmartin-215/node-pagerduty) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/kmartin-215/node-pagerduty/releases)
- [Commits](https://github.com/kmartin-215/node-pagerduty/compare/1.3.5...1.3.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-19 09:01:03 -05:00
xcaliber93 6f273305df feat(canadacomputers): add ryzen 5000 series (#842) 2020-11-19 09:00:46 -05:00
vmnt 6d292a11cd feat(newegg-ca): add big navi links (#843) 2020-11-19 08:59:37 -05:00
Rich Evans 89a762e2f5 feat(store): add amd rx 6000 series model (#832) 2020-11-18 20:14:27 -05:00
dependabot[bot] f9b617dd69 chore(deps): bump puppeteer from 5.4.1 to 5.5.0 (#819)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 5.4.1 to 5.5.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v5.4.1...v5.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-18 10:25:00 -05:00
dependabot[bot] 7fea7d58f0 chore(deps-dev): bump @types/node from 14.14.7 to 14.14.8 (#829)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.7 to 14.14.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-18 10:24:43 -05:00
joslynesser f16a9fb331 fix(config): correcting newline split for multiple user agents (#824) 2020-11-18 10:24:17 -05:00
VictorV 777c31b420 feat(notification): add product link to email and telegram (#816) 2020-11-18 10:23:31 -05:00
Matt Hayward 229daabb34 chore: add amd cpus to uk stores (#833) 2020-11-18 10:22:37 -05:00
Cristian d0ebffd056 feat(store): add 3070 models to pccomponentes & coolmod (#820) 2020-11-17 10:23:14 -05:00
Jef LeCompte 3feda151c5 docs: add cloud provider FAQ
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-16 11:28:53 -05:00
dependabot[bot] d41798ac23 chore(deps): bump dorny/paths-filter from v2.5.2 to v2.5.3 (#814)
Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from v2.5.2 to v2.5.3.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/v2.5.2...d599443ba55e103985817f072734ef381431aeb4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-16 11:17:32 -05:00
James Hinton eb314afda5 feat(playstation): add outOfStock label (#812) 2020-11-16 11:12:35 -05:00
Jef LeCompte f377820894 chore: add question to issues template 2020-11-16 11:10:52 -05:00
Jef LeCompte 8933896c5c chore: remove duplicate chips
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-15 12:10:20 -05:00
Garret Picchioni 88a1303f73 chore(amazon): add zen 3 to us, es, and nl (#743) 2020-11-15 12:09:29 -05:00
Michael Vendivel 167713bb14 fix(amazon): add 5800x and 5600x (#802) 2020-11-15 12:05:14 -05:00
James Hinton 7c28c7f72b feat(store): add PlayStation store (#806) 2020-11-15 11:46:32 -05:00
Cristian b21b2440f7 chore(pccomponentes): add ryzen cpus (#756) 2020-11-14 22:05:06 -05:00
Michael Vendivel 63d550ca63 fix(bestbuy-ca): use proper selector (#801) 2020-11-14 22:02:49 -05:00
dependabot[bot] 8e1744c6b1 chore(deps): bump mqtt from 4.2.4 to 4.2.5 (#786)
Bumps [mqtt](https://github.com/mqttjs/MQTT.js) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/mqttjs/MQTT.js/releases)
- [Commits](https://github.com/mqttjs/MQTT.js/compare/v4.2.4...v4.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-13 11:17:47 -05:00
dependabot[bot] 0ed826fb5d chore(deps): bump nodemailer from 6.4.15 to 6.4.16 (#785)
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.4.15 to 6.4.16.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.4.15...v6.4.16)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-13 11:14:46 -05:00
dependabot[bot] d47a3e064e chore(deps-dev): bump @types/async from 3.2.3 to 3.2.4 (#787)
Bumps [@types/async](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/async) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/async)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-13 11:14:36 -05:00
Clinton Judy 501ea34a54 feat(asus): add backoff codes (#790) 2020-11-13 11:11:48 -05:00
Clinton Judy b60ad12cf2 chore(newegg): add 3080 vision oc (#791) 2020-11-13 11:10:31 -05:00
rodrigorodrigo ef2036b75d docs: small typo on canadacomputers (#779) 2020-11-12 22:44:59 -05:00
Jef LeCompte c38bebb49d feat(store): add topachat (#776)
Co-authored-by: Oguzhan YAGCI <oyagci@student.42.fr>
2020-11-12 08:50:31 -05:00
Zyde22 02d7c47c40 feat: add amazon-fr to stores. (#766) 2020-11-12 08:39:45 -05:00
Jef LeCompte efe0d64f06 revert: pipeline changes
Ref: 15e4520213
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-11-12 08:37:37 -05:00
rodrigorodrigo bd69e471f7 feat(store): support for canadacomputers (#772) 2020-11-12 08:24:15 -05:00
65 changed files with 4152 additions and 1356 deletions
+88 -85
View File
@@ -2,88 +2,91 @@
# Read https://github.com/jef/streetmerchant#customization for help on customizing this file # Read https://github.com/jef/streetmerchant#customization for help on customizing this file
############################################################################################# #############################################################################################
ASCII_BANNER= ASCII_BANNER=""
ASCII_COLOR= ASCII_COLOR=""
AUTO_ADD_TO_CART= AUTO_ADD_TO_CART=""
BROWSER_TRUSTED= BROWSER_TRUSTED=""
COUNTRY= COUNTRY=""
DESKTOP_NOTIFICATIONS= DESKTOP_NOTIFICATIONS=""
DISCORD_NOTIFY_GROUP= DISCORD_NOTIFY_GROUP=""
DISCORD_WEB_HOOK= DISCORD_WEB_HOOK=""
EMAIL_PASSWORD= EMAIL_PASSWORD=""
EMAIL_TO= EMAIL_TO=""
EMAIL_USERNAME= EMAIL_USERNAME=""
HEADLESS= HEADLESS=""
IN_STOCK_WAIT_TIME= IN_STOCK_WAIT_TIME=""
LOG_LEVEL= LOG_LEVEL=""
LOW_BANDWIDTH= LOW_BANDWIDTH=""
MAX_PRICE_SERIES_3070= MAX_PRICE_SERIES_3070=""
MAX_PRICE_SERIES_3080= MAX_PRICE_SERIES_3080=""
MAX_PRICE_SERIES_3090= MAX_PRICE_SERIES_3090=""
MAX_PRICE_SERIES_RYZEN5600= MAX_PRICE_SERIES_RX6800=""
MAX_PRICE_SERIES_RYZEN5800= MAX_PRICE_SERIES_RX6800XT=""
MAX_PRICE_SERIES_RYZEN5900= MAX_PRICE_SERIES_RX6900XT=""
MAX_PRICE_SERIES_RYZEN5950= MAX_PRICE_SERIES_RYZEN5600=""
MICROCENTER_LOCATION= MAX_PRICE_SERIES_RYZEN5800=""
MQTT_BROKER_ADDRESS= MAX_PRICE_SERIES_RYZEN5900=""
MQTT_BROKER_PORT= MAX_PRICE_SERIES_RYZEN5950=""
MQTT_CLIENT_ID= MICROCENTER_LOCATION=""
MQTT_PASSWORD= MQTT_BROKER_ADDRESS=""
MQTT_QOS= MQTT_BROKER_PORT=""
MQTT_TOPIC= MQTT_CLIENT_ID=""
MQTT_USERNAME= MQTT_PASSWORD=""
NVIDIA_ADD_TO_CART_ATTEMPTS= MQTT_QOS=""
NVIDIA_SESSION_TTL= MQTT_TOPIC=""
OPEN_BROWSER= MQTT_USERNAME=""
PAGE_BACKOFF_MIN= NVIDIA_ADD_TO_CART_ATTEMPTS=""
PAGE_BACKOFF_MAX= NVIDIA_SESSION_TTL=""
PAGE_SLEEP_MIN= OPEN_BROWSER=""
PAGE_SLEEP_MAX= PAGE_BACKOFF_MIN=""
PAGE_TIMEOUT= PAGE_BACKOFF_MAX=""
PAGERDUTY_INTEGRATION_KEY= PAGE_SLEEP_MIN=""
PAGERDUTY_SEVERITY= PAGE_SLEEP_MAX=""
PHILIPS_HUE_API_KEY= PAGE_TIMEOUT=""
PHILIPS_HUE_CLOUD_ACCESS_TOKEN= PAGERDUTY_INTEGRATION_KEY=""
PHILIPS_HUE_CLOUD_CLIENT_ID= PAGERDUTY_SEVERITY=""
PHILIPS_HUE_CLOUD_CLIENT_SECRET= PHILIPS_HUE_API_KEY=""
PHILIPS_HUE_CLOUD_REFRESH_TOKEN= PHILIPS_HUE_CLOUD_ACCESS_TOKEN=""
PHILIPS_HUE_LAN_BRIDGE_IP= PHILIPS_HUE_CLOUD_CLIENT_ID=""
PHILIPS_HUE_LIGHT_COLOR= PHILIPS_HUE_CLOUD_CLIENT_SECRET=""
PHILIPS_HUE_LIGHT_IDS= PHILIPS_HUE_CLOUD_REFRESH_TOKEN=""
PHILIPS_HUE_LIGHT_PATTERN= PHILIPS_HUE_LAN_BRIDGE_IP=""
PHONE_CARRIER= PHILIPS_HUE_LIGHT_COLOR=""
PHONE_NUMBER= PHILIPS_HUE_LIGHT_IDS=""
PLAY_SOUND= PHILIPS_HUE_LIGHT_PATTERN=""
PROXY_ADDRESS= PHONE_CARRIER=""
PROXY_PORT= PHONE_NUMBER=""
PUSHBULLET= PLAY_SOUND=""
PUSHOVER_TOKEN= PROXY_ADDRESS=""
PUSHOVER_USER= PROXY_PORT=""
PUSHOVER_PRIORITY= PUSHBULLET=""
SCREENSHOT= PUSHOVER_TOKEN=""
SHOW_ONLY_BRANDS= PUSHOVER_USER=""
SHOW_ONLY_MODELS= PUSHOVER_PRIORITY=""
SHOW_ONLY_SERIES= SCREENSHOT=""
SLACK_CHANNEL= SHOW_ONLY_BRANDS=""
SLACK_TOKEN= SHOW_ONLY_MODELS=""
SMTP_ADDRESS= SHOW_ONLY_SERIES=""
SMTP_PORT= SLACK_CHANNEL=""
STORES= SLACK_TOKEN=""
TELEGRAM_ACCESS_TOKEN= SMTP_ADDRESS=""
TELEGRAM_CHAT_ID= SMTP_PORT=""
TWILIO_ACCOUNT_SID= STORES=""
TWILIO_AUTH_TOKEN= TELEGRAM_ACCESS_TOKEN=""
TWILIO_FROM_NUMBER= TELEGRAM_CHAT_ID=""
TWILIO_TO_NUMBER= TWILIO_ACCOUNT_SID=""
TWITCH_ACCESS_TOKEN= TWILIO_AUTH_TOKEN=""
TWITCH_CHANNEL= TWILIO_FROM_NUMBER=""
TWITCH_CLIENT_ID= TWILIO_TO_NUMBER=""
TWITCH_CLIENT_SECRET= TWITCH_ACCESS_TOKEN=""
TWITCH_REFRESH_TOKEN= TWITCH_CHANNEL=""
TWITTER_ACCESS_TOKEN_KEY= TWITCH_CLIENT_ID=""
TWITTER_ACCESS_TOKEN_SECRET= TWITCH_CLIENT_SECRET=""
TWITTER_CONSUMER_KEY= TWITCH_REFRESH_TOKEN=""
TWITTER_CONSUMER_SECRET= TWITTER_ACCESS_TOKEN_KEY=""
TWITTER_TWEET_TAGS= TWITTER_ACCESS_TOKEN_SECRET=""
USER_AGENT= TWITTER_CONSUMER_KEY=""
WEB_PORT= TWITTER_CONSUMER_SECRET=""
TWITTER_TWEET_TAGS=""
USER_AGENT=""
WEB_PORT=""
+12
View File
@@ -0,0 +1,12 @@
---
name: 🤔 Question
about: Open to all questions
title: ''
labels: 'type: question'
assignees: jef
---
### Description
<!-- Describe the feature here. -->
-6
View File
@@ -4,17 +4,11 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
labels:
- "dependencies"
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
labels:
- "dependencies"
- package-ecosystem: "npm" - package-ecosystem: "npm"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
labels:
- "dependencies"
+2 -20
View File
@@ -3,26 +3,8 @@ on:
push: push:
branches: branches:
- main - main
- develop
paths-ignore:
- '**.md'
jobs: jobs:
publish-nightly: publish:
if: contains(github.ref, 'develop')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: login into github package registry
run: echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
- name: build nightly docker image
run: |
docker build \
-t "ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA:0:7}" \
-t "ghcr.io/${GITHUB_REPOSITORY}:nightly" .
- name: publish nightly
run: docker push "ghcr.io/${GITHUB_REPOSITORY}"
publish-latest:
if: contains(github.ref, 'main')
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@@ -42,6 +24,6 @@ jobs:
-t "ghcr.io/${GITHUB_REPOSITORY}:latest" . -t "ghcr.io/${GITHUB_REPOSITORY}:latest" .
env: env:
TAG_NAME: ${{ steps.release.outputs.tag_name }} TAG_NAME: ${{ steps.release.outputs.tag_name }}
- name: publish latest - name: publish latest image
if: ${{ steps.release.outputs.release_created }} if: ${{ steps.release.outputs.release_created }}
run: docker push "ghcr.io/${GITHUB_REPOSITORY}" run: docker push "ghcr.io/${GITHUB_REPOSITORY}"
+3 -5
View File
@@ -2,11 +2,9 @@ name: ci
on: on:
pull_request: pull_request:
branches: branches:
- develop - main
paths-ignore:
- '**.md'
jobs: jobs:
build-lint: build-and-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@@ -29,7 +27,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: dorny/paths-filter@v2.5.2 - uses: dorny/paths-filter@v2.5.3
id: filter id: filter
with: with:
filters: | filters: |
+18
View File
@@ -0,0 +1,18 @@
name: nightly
on:
schedule:
- cron: '0 0 * * *'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: login into github package registry
run: echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
- name: build nightly docker image
run: |
docker build \
-t "ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA:0:7}" \
-t "ghcr.io/${GITHUB_REPOSITORY}:nightly" .
- name: publish nightly image
run: docker push "ghcr.io/${GITHUB_REPOSITORY}"
+35
View File
@@ -1,5 +1,40 @@
# Changelog # Changelog
## [3.1.0](https://www.github.com/jef/streetmerchant/compare/v3.0.0...v3.1.0) (2020-11-22)
### Features
* **asus:** add backoff codes ([#790](https://www.github.com/jef/streetmerchant/issues/790)) ([501ea34](https://www.github.com/jef/streetmerchant/commit/501ea34a54e877600050d5a99fd3b71ec799e96a))
* **canadacomputers:** add ryzen 5000 series ([#842](https://www.github.com/jef/streetmerchant/issues/842)) ([6f27330](https://www.github.com/jef/streetmerchant/commit/6f273305df69ac7b420b5446b4c6824866821a7e))
* **coolmod:** add `maxPrice` ([#862](https://www.github.com/jef/streetmerchant/issues/862)) ([4b689cb](https://www.github.com/jef/streetmerchant/commit/4b689cb94e99b83c8829c11d1bfe4cd6db9fbd7a))
* **newegg-ca:** add big navi links ([#843](https://www.github.com/jef/streetmerchant/issues/843)) ([6d292a1](https://www.github.com/jef/streetmerchant/commit/6d292a11cd53bd3893d4a0ff5d13eb2ce3319faa))
* **notification:** add product link to email and telegram ([#816](https://www.github.com/jef/streetmerchant/issues/816)) ([777c31b](https://www.github.com/jef/streetmerchant/commit/777c31b420a38cab860d98bc6bd8b7ba990c55e7))
* **playstation:** add `outOfStock` label ([#812](https://www.github.com/jef/streetmerchant/issues/812)) ([eb314af](https://www.github.com/jef/streetmerchant/commit/eb314afda557369dd27266429ac991c47ecc6375))
* **store:** add `PlayStation` store ([#806](https://www.github.com/jef/streetmerchant/issues/806)) ([7c28c7f](https://www.github.com/jef/streetmerchant/commit/7c28c7f72b171ce914aba770d88e8b1213c41233))
* **store:** add 3070 models to pccomponentes & coolmod ([#820](https://www.github.com/jef/streetmerchant/issues/820)) ([d0ebffd](https://www.github.com/jef/streetmerchant/commit/d0ebffd056dc166e3557ccf694379bf8c10148b5))
* **store:** add amd rx 6000 series model ([#832](https://www.github.com/jef/streetmerchant/issues/832)) ([89a762e](https://www.github.com/jef/streetmerchant/commit/89a762e2f5cd2ebd56c2586b1ebead4171b67153))
* **store:** add captcha check to saturn and mediamarkt ([#876](https://www.github.com/jef/streetmerchant/issues/876)) ([2d01cfd](https://www.github.com/jef/streetmerchant/commit/2d01cfddff557f112c6d53473dad25eb299f2fc0))
* **store:** add corsair sfx PSUs ([#881](https://www.github.com/jef/streetmerchant/issues/881)) ([e552c91](https://www.github.com/jef/streetmerchant/commit/e552c9102dd9801dcfc35652f2aaa0b1eea18ebb))
* **store:** add topachat ([#776](https://www.github.com/jef/streetmerchant/issues/776)) ([c38bebb](https://www.github.com/jef/streetmerchant/commit/c38bebb49dbe8243d0e3f1205150a33f9ce745aa))
* **store:** add vsgamers ([#767](https://www.github.com/jef/streetmerchant/issues/767)) ([53739e0](https://www.github.com/jef/streetmerchant/commit/53739e05abf50bbaddb8079087339c9f353096c8))
* add amazon-fr to stores. ([#766](https://www.github.com/jef/streetmerchant/issues/766)) ([02d7c47](https://www.github.com/jef/streetmerchant/commit/02d7c47c4093ad71dfab31f93a9b1390f4cad8a0))
* **store:** support for canadacomputers ([#772](https://www.github.com/jef/streetmerchant/issues/772)) ([bd69e47](https://www.github.com/jef/streetmerchant/commit/bd69e471f7b47e7faf1d9858992d4157145518aa))
### Bug Fixes
* **amazon:** add 5800x and 5600x ([#802](https://www.github.com/jef/streetmerchant/issues/802)) ([167713b](https://www.github.com/jef/streetmerchant/commit/167713bb14080e5e1d2f77c7ee933918b6fd5cfc))
* **bestbuy-ca:** use proper selector ([#801](https://www.github.com/jef/streetmerchant/issues/801)) ([63d550c](https://www.github.com/jef/streetmerchant/commit/63d550ca63b9bfd534f37b7747a1fae057abedb4))
* **config:** correcting newline split for multiple user agents ([#824](https://www.github.com/jef/streetmerchant/issues/824)) ([f16a9fb](https://www.github.com/jef/streetmerchant/commit/f16a9fb331fd38590325f399bde369ffa17dbe10))
* **store:** generate links only for selected stores ([292e360](https://www.github.com/jef/streetmerchant/commit/292e3603fd527a4454639c9abb73bd80a8a95fae)), closes [#694](https://www.github.com/jef/streetmerchant/issues/694)
### Reverts
* correcting newline split for multiple user agents ([af631c8](https://www.github.com/jef/streetmerchant/commit/af631c86f1a74d810cabf2d0de1b7bb31d350095)), closes [#824](https://www.github.com/jef/streetmerchant/issues/824)
* pipeline changes ([efe0d64](https://www.github.com/jef/streetmerchant/commit/efe0d64f060e812fd9846073a13837a3f2a27862))
## [3.0.0](https://www.github.com/jef/streetmerchant/compare/v2.0.0...v3.0.0) (2020-11-12) ## [3.0.0](https://www.github.com/jef/streetmerchant/compare/v2.0.0...v3.0.0) (2020-11-12)
+14 -8
View File
@@ -28,15 +28,15 @@ getting `streetmerchant` running!
### Installation: native ### Installation: native
| Branch | Note | | Reference | Note |
|:---:|---| |:---:|---|
| `main` | Latest release; usually tagged, stable | | tag | Example, `v1.0.0`; stable |
| `develop` | Latest HEAD; not tagged, could be unstable | | `main` | Latest HEAD; not tagged, could be unstable |
- [Node.js 14](https://nodejs.org/en/) - [Node.js 14](https://nodejs.org/en/)
- [git](https://git-scm.com/) - [git](https://git-scm.com/)
- Clone this project `git clone https://github.com/jef/streetmerchant.git` - Clone this project `git clone https://github.com/jef/streetmerchant.git`
- To checkout a particular branch, use `git checkout <branch name>` after cloning - To checkout a particular ref, use `git checkout <ref name>` after cloning
- Run `npm install` - Run `npm install`
- Copy `.env-example` to a new file `.env` and edit the `.env` file to your liking using - Copy `.env-example` to a new file `.env` and edit the `.env` file to your liking using
your [favorite text editor](https://code.visualstudio.com/) your [favorite text editor](https://code.visualstudio.com/)
@@ -53,8 +53,8 @@ Available via GitHub Container Registry.
| Tag | Note | | Tag | Note |
|:---:|---| |:---:|---|
| `latest` | Latest release; usually tagged, stable | | `latest` | Latest release; stable |
| `nightly` | Latest HEAD; not tagged, could be unstable | | `nightly` | Latest HEAD each day at midnight UTC; could be unstable |
```sh ```sh
# to run # to run
@@ -142,6 +142,7 @@ environment variables are **optional**._
| Amazon (CA) | `amazon-ca`| | Amazon (CA) | `amazon-ca`|
| Amazon (DE) | `amazon-de`| | Amazon (DE) | `amazon-de`|
| Amazon (ES) | `amazon-es`| | Amazon (ES) | `amazon-es`|
| Amazon (FR) | `amazon-fr`|
| Amazon (NL) | `amazon-nl`| | Amazon (NL) | `amazon-nl`|
| Amazon (UK) | `amazon-uk`| | Amazon (UK) | `amazon-uk`|
| AMD | `amd`| | AMD | `amd`|
@@ -155,6 +156,7 @@ environment variables are **optional**._
| Best Buy | `bestbuy`| | Best Buy | `bestbuy`|
| Best Buy (CA) | `bestbuy-ca`| | Best Buy (CA) | `bestbuy-ca`|
| Box (UK) | `box`| | Box (UK) | `box`|
| CanadaComputers (CA) | `canadacomputers` |
| Caseking (DE) | `caseking`| | Caseking (DE) | `caseking`|
| CCL (UK) | `ccl`| | CCL (UK) | `ccl`|
| Computeruniverse (DE) | `computeruniverse` | | Computeruniverse (DE) | `computeruniverse` |
@@ -182,6 +184,7 @@ environment variables are **optional**._
| Office Depot | `officedepot`| | Office Depot | `officedepot`|
| Overclockers (UK) | `overclockers`| | Overclockers (UK) | `overclockers`|
| PCComponentes (ES) | `pccomponentes`| | PCComponentes (ES) | `pccomponentes`|
| PlayStation | `playstation`|
| PNY | `pny`| | PNY | `pny`|
| Proshop (DE) | `proshop-de`| | Proshop (DE) | `proshop-de`|
| Proshop (DK) | `proshop-dk`| | Proshop (DK) | `proshop-dk`|
@@ -191,6 +194,7 @@ environment variables are **optional**._
| Very (UK) | `very`| | Very (UK) | `very`|
| Walmart | `walmart`| | Walmart | `walmart`|
| Zotac | `zotac`| | Zotac | `zotac`|
| TopAchat | `topachat`|
<details> <details>
<summary>Micro Center stores</summary> <summary>Micro Center stores</summary>
@@ -244,8 +248,8 @@ environment variables are **optional**._
| `gainward` | `phantom gs`, `phoenix`, `phoenix gs`, `phoenix gs oc` | | `gainward` | `phantom gs`, `phoenix`, `phoenix gs`, `phoenix gs oc` |
| `gigabyte` | `aorus master`, `aorus xtreme`, `eagle`, `eagle oc`, `gaming`, `gaming oc`, `turbo`, `vision`, `vision oc` | | `gigabyte` | `aorus master`, `aorus xtreme`, `eagle`, `eagle oc`, `gaming`, `gaming oc`, `turbo`, `vision`, `vision oc` |
| `inno3d` | `gaming x3`, `ichill x3`, `ichill x4`, `twin x2 oc` | | `inno3d` | `gaming x3`, `ichill x3`, `ichill x4`, `twin x2 oc` |
| `kfa2` | `sg oc` | | `kfa2` | `sg`, `sg oc` |
| `microsoft` | `xboxsx` , `xboxss` | | `microsoft` | `xboxsx`, `xboxss` |
| `msi` | `gaming x trio`, `ventus 2x oc`, `ventus 3x`, `ventus 3x oc` | | `msi` | `gaming x trio`, `ventus 2x oc`, `ventus 3x`, `ventus 3x oc` |
| `nvidia` | `founders edition` | | `nvidia` | `founders edition` |
| `palit` | `gamerock oc`, `gaming pro`, `gaming pro oc` | | `palit` | `gamerock oc`, `gaming pro`, `gaming pro oc` |
@@ -505,4 +509,6 @@ See [#11](https://github.com/jef/streetmerchant/issues/11).
**Q: Why does Amazon show an error page (with a picture of an animal) instead of adding to cart or going to the detail page?** This is intended; see [#733](https://github.com/jef/streetmerchant/issues/733). This indicates that the item is out of stock and only available from a third-party seller (often at a markup). **Q: Why does Amazon show an error page (with a picture of an animal) instead of adding to cart or going to the detail page?** This is intended; see [#733](https://github.com/jef/streetmerchant/issues/733). This indicates that the item is out of stock and only available from a third-party seller (often at a markup).
**Q: I'm using streetmerchant in the cloud and X isn't working.** There is _a lot_ of undefined behavior with using streetmerchant in the cloud. Some sites may block IPs from your cloud provider. It is possible that a VPN will help circumvent these problems.
<p align="center"><a href="https://github.com/jef/streetmerchant#readme"><img src="https://raw.githubusercontent.com/jef/streetmerchant/main/media/terminal.gif" /></a></p> <p align="center"><a href="https://github.com/jef/streetmerchant#readme"><img src="https://raw.githubusercontent.com/jef/streetmerchant/main/media/terminal.gif" /></a></p>
+1175 -888
View File
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -32,31 +32,31 @@
"discord-webhook-node": "^1.1.8", "discord-webhook-node": "^1.1.8",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
"messaging-api-telegram": "^1.0.1", "messaging-api-telegram": "^1.0.1",
"mqtt": "^4.2.4", "mqtt": "^4.2.5",
"node-fetch": "^2.6.1", "node-fetch": "^2.6.1",
"node-hue-api": "^4.0.9", "node-hue-api": "^4.0.9",
"node-notifier": "^8.0.0", "node-notifier": "^8.0.0",
"node-pagerduty": "^1.3.5", "node-pagerduty": "^1.3.6",
"nodemailer": "^6.4.15", "nodemailer": "^6.4.16",
"open": "^7.3.0", "open": "^7.3.0",
"play-sound": "^1.1.3", "play-sound": "^1.1.3",
"puppeteer": "^5.4.1", "puppeteer": "^5.5.0",
"puppeteer-extra": "^3.1.15", "puppeteer-extra": "^3.1.15",
"puppeteer-extra-plugin-adblocker": "^2.11.8", "puppeteer-extra-plugin-adblocker": "^2.11.9",
"puppeteer-extra-plugin-block-resources": "^2.2.7", "puppeteer-extra-plugin-block-resources": "^2.2.7",
"puppeteer-extra-plugin-stealth": "^2.6.5", "puppeteer-extra-plugin-stealth": "^2.6.5",
"pushover-notifications": "^1.2.2", "pushover-notifications": "^1.2.2",
"twilio": "^3.51.0", "twilio": "^3.52.0",
"twitch": "^4.2.7", "twitch": "^4.3.0",
"twitch-auth": "^4.2.7", "twitch-auth": "^4.3.0",
"twitch-chat-client": "^4.2.7", "twitch-chat-client": "^4.3.0",
"twitter": "^1.7.1", "twitter": "^1.7.1",
"winston": "^3.3.3" "winston": "^3.3.3"
}, },
"devDependencies": { "devDependencies": {
"@types/async": "^3.2.3", "@types/async": "^3.2.4",
"@types/cheerio": "^0.22.22", "@types/cheerio": "^0.22.22",
"@types/node": "^14.14.7", "@types/node": "^14.14.9",
"@types/node-fetch": "^2.5.7", "@types/node-fetch": "^2.5.7",
"@types/node-notifier": "^8.0.0", "@types/node-notifier": "^8.0.0",
"@types/nodemailer": "^6.4.0", "@types/nodemailer": "^6.4.0",
@@ -65,9 +65,9 @@
"husky": "^4.3.0", "husky": "^4.3.0",
"nodemon": "^2.0.6", "nodemon": "^2.0.6",
"ts-node": "^9.0.0", "ts-node": "^9.0.0",
"typescript": "^4.0.5", "typescript": "^4.1.2",
"webpack": "^5.4.0", "webpack": "^5.6.0",
"xo": "^0.33.1" "xo": "^0.35.0"
}, },
"xo": { "xo": {
"prettier": true, "prettier": true,
+9 -2
View File
@@ -309,10 +309,14 @@ const store = {
3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070), 3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070),
3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080), 3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080),
3090: envOrNumber(process.env.MAX_PRICE_SERIES_3090), 3090: envOrNumber(process.env.MAX_PRICE_SERIES_3090),
rx6800: envOrNumber(process.env.MAX_PRICE_SERIES_RX6800),
rx6800xt: envOrNumber(process.env.MAX_PRICE_SERIES_RX6800XT),
rx6900xt: envOrNumber(process.env.MAX_PRICE_SERIES_RX6900XT),
ryzen5600: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5600), ryzen5600: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5600),
ryzen5800: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5800), ryzen5800: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5800),
ryzen5900: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5900), ryzen5900: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5900),
ryzen5950: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5950), ryzen5950: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5950),
sf: envOrNumber(process.env.MAX_PRICE_SERIES_CORSAIR_SF),
sonyps5c: -1, sonyps5c: -1,
sonyps5de: -1, sonyps5de: -1,
'test:series': -1, 'test:series': -1,
@@ -333,14 +337,17 @@ const store = {
'3070', '3070',
'3080', '3080',
'3090', '3090',
'rx6800',
'rx6800xt',
'rx6900xt',
'ryzen5600', 'ryzen5600',
'ryzen5800', 'ryzen5800',
'ryzen5900', 'ryzen5900',
'ryzen5950', 'ryzen5950',
'sonyps5c', 'sonyps5c',
'sonyps5de', 'sonyps5de',
'xboxsx', 'xboxss',
'xboxss' 'xboxsx'
]), ]),
stores: envOrArray(process.env.STORES, ['nvidia']).map((entry) => { stores: envOrArray(process.env.STORES, ['nvidia']).map((entry) => {
const [name, minPageSleep, maxPageSleep] = entry.match(/[^:]+/g) ?? []; const [name, minPageSleep, maxPageSleep] = entry.match(/[^:]+/g) ?? [];
+1 -1
View File
@@ -94,7 +94,7 @@ async function stopAndExit() {
async function loopMain() { async function loopMain() {
try { try {
await main(); await main();
} catch (error) { } catch (error: unknown) {
logger.error( logger.error(
'✖ something bad happened, resetting streetmerchant in 5 seconds', '✖ something bad happened, resetting streetmerchant in 5 seconds',
error error
+6
View File
@@ -180,6 +180,12 @@ export const Print = {
return `${buildProductString(link, store)} :: OUT OF STOCK`; return `${buildProductString(link, store)} :: OUT OF STOCK`;
}, },
productInStock(link: Link): string {
let productString = `Product Page: ${link.url}`;
if (link.cartUrl) productString += `\nAdd To Cart Link: ${link.cartUrl}`;
return productString;
},
rateLimit(link: Link, store: Store, color?: boolean): string { rateLimit(link: Link, store: Store, color?: boolean): string {
if (color) { if (color) {
return ( return (
+1 -1
View File
@@ -38,7 +38,7 @@ export function sendDiscordMessage(link: Link, store: Store) {
await Promise.all(promises); await Promise.all(promises);
logger.info('✔ discord message sent'); logger.info('✔ discord message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send discord message", error); logger.error("✖ couldn't send discord message", error);
} }
})(); })();
+1 -1
View File
@@ -40,7 +40,7 @@ export function sendEmail(link: Link, store: Store) {
: undefined, : undefined,
from: email.username, from: email.username,
subject: Print.inStock(link, store), subject: Print.inStock(link, store),
text: link.cartUrl ? link.cartUrl : link.url, text: Print.productInStock(link),
to: email.to to: email.to
}; };
+1 -1
View File
@@ -44,7 +44,7 @@ export function sendMqttMessage(link: Link, store: Store) {
try { try {
client.publish(topic, message, pubOptions); client.publish(topic, message, pubOptions);
logger.info('✔ mqtt message sent'); logger.info('✔ mqtt message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send mqtt message", error); logger.error("✖ couldn't send mqtt message", error);
} }
})(); })();
+4 -3
View File
@@ -60,9 +60,10 @@ const adjustLightsWithAPI = (hueBridge: Api) => {
.then((allLights: any[]) => { .then((allLights: any[]) => {
allLights.forEach((light: any) => { allLights.forEach((light: any) => {
logger.debug('adjusting specified lights'); logger.debug('adjusting specified lights');
(hueBridge.lights.setLightState(light, lightState) as Promise< (hueBridge.lights.setLightState(
any light,
>).catch((error: Error) => { lightState
) as Promise<any>).catch((error: Error) => {
logger.error('Failed to adjust specified lights.'); logger.error('Failed to adjust specified lights.');
logger.error(error); logger.error(error);
throw error; throw error;
+1 -1
View File
@@ -27,7 +27,7 @@ export function sendSlackMessage(link: Link, store: Store) {
} }
logger.info('✔ slack message sent'); logger.info('✔ slack message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send slack message", error); logger.error("✖ couldn't send slack message", error);
} }
})(); })();
+3 -3
View File
@@ -14,7 +14,7 @@ export function sendTelegramMessage(link: Link, store: Store) {
logger.debug('↗ sending telegram message'); logger.debug('↗ sending telegram message');
(async () => { (async () => {
const givenUrl = link.cartUrl ? link.cartUrl : link.url; const message = Print.productInStock(link);
const results = []; const results = [];
for (const chatId of telegram.chatId) { for (const chatId of telegram.chatId) {
@@ -22,11 +22,11 @@ export function sendTelegramMessage(link: Link, store: Store) {
results.push( results.push(
client.sendMessage( client.sendMessage(
chatId, chatId,
`${Print.inStock(link, store)}\n${givenUrl}` `${Print.inStock(link, store)}\n${message}`
) )
); );
logger.info('✔ telegram message sent'); logger.info('✔ telegram message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send telegram message", error); logger.error("✖ couldn't send telegram message", error);
} }
} }
+1 -1
View File
@@ -25,7 +25,7 @@ export function sendTwilioMessage(link: Link, store: Store) {
to: twilio.to to: twilio.to
}); });
logger.info('✔ twilio message sent'); logger.info('✔ twilio message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send twilio message", error); logger.error("✖ couldn't send twilio message", error);
} }
})(); })();
+1 -1
View File
@@ -65,7 +65,7 @@ chatClient.onJoin((channel: string, user: string) => {
try { try {
chatClient.say(channel, message); chatClient.say(channel, message);
logger.info('✔ twitch message sent'); logger.info('✔ twitch message sent');
} catch (error) { } catch (error: unknown) {
logger.error("✖ couldn't send twitch message", error); logger.error("✖ couldn't send twitch message", error);
} }
} }
-1
View File
@@ -72,7 +72,6 @@ export async function extractPageContents(
selector: Selector selector: Selector
): Promise<string | null> { ): Promise<string | null> {
return page.evaluate((options: Selector) => { return page.evaluate((options: Selector) => {
// eslint-disable-next-line no-undef
const element: globalThis.HTMLElement | null = document.querySelector( const element: globalThis.HTMLElement | null = document.querySelector(
options.selector options.selector
); );
+10 -12
View File
@@ -57,7 +57,7 @@ async function lookup(browser: Browser, store: Store) {
if (store.disableAdBlocker) { if (store.disableAdBlocker) {
try { try {
await disableBlockerInPage(page); await disableBlockerInPage(page);
} catch (error) { } catch (error: unknown) {
logger.error(error); logger.error(error);
} }
} }
@@ -66,10 +66,10 @@ async function lookup(browser: Browser, store: Store) {
try { try {
statusCode = await lookupCard(browser, store, page, link); statusCode = await lookupCard(browser, store, page, link);
} catch (error) { } catch (error: unknown) {
logger.error( logger.error(
`✖ [${store.name}] ${link.brand} ${link.series} ${link.model} - ${ `✖ [${store.name}] ${link.brand} ${link.series} ${link.model} - ${
error.message as string (error as Error).message
}` }`
); );
const client = await page.target().createCDPSession(); const client = await page.target().createCDPSession();
@@ -122,11 +122,9 @@ async function lookupCard(
logger.info(`${Print.inStock(link, store, true)}\n${givenUrl}`); logger.info(`${Print.inStock(link, store, true)}\n${givenUrl}`);
if (config.browser.open) { if (config.browser.open) {
if (link.openCartAction === undefined) { await (link.openCartAction === undefined
await open(givenUrl); ? open(givenUrl)
} else { : link.openCartAction(browser));
await link.openCartAction(browser);
}
} }
sendNotification(link, store); sendNotification(link, store);
@@ -225,15 +223,15 @@ export async function tryLookupAndLoop(browser: Browser, store: Store) {
return; return;
} }
if (store.linksBuilder) { if (getStores().has(store.name) && store.linksBuilder) {
const lastRunTime = linkBuilderLastRunTimes[store.name] ?? -1; const lastRunTime = linkBuilderLastRunTimes[store.name] ?? -1;
const ttl = store.linksBuilder.ttl ?? Number.MAX_SAFE_INTEGER; const ttl = store.linksBuilder.ttl ?? Number.MAX_SAFE_INTEGER;
if (lastRunTime === -1 || Date.now() - lastRunTime > ttl) { if (lastRunTime === -1 || Date.now() - lastRunTime > ttl) {
try { try {
await fetchLinks(store, browser); await fetchLinks(store, browser);
linkBuilderLastRunTimes[store.name] = Date.now(); linkBuilderLastRunTimes[store.name] = Date.now();
} catch (error) { } catch (error: unknown) {
logger.error(error.message); logger.error((error as Error).message);
} }
} }
} }
@@ -241,7 +239,7 @@ export async function tryLookupAndLoop(browser: Browser, store: Store) {
logger.debug(`[${store.name}] Starting lookup...`); logger.debug(`[${store.name}] Starting lookup...`);
try { try {
await lookup(browser, store); await lookup(browser, store);
} catch (error) { } catch (error: unknown) {
logger.error(error); logger.error(error);
} }
+50
View File
@@ -18,150 +18,200 @@ export const AmazonCa: Store = {
links: [ links: [
{ {
brand: 'test:brand', brand: 'test:brand',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B07PBLD2MX&Quantity.1=1',
model: 'test:model', model: 'test:model',
series: 'test:series', series: 'test:series',
url: 'https://www.amazon.ca/dp/B07PBLD2MX' url: 'https://www.amazon.ca/dp/B07PBLD2MX'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR7SV3M&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR7SV3M' url: 'https://www.amazon.ca/dp/B08HR7SV3M'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR5SXPS&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR5SXPS' url: 'https://www.amazon.ca/dp/B08HR5SXPS'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR3DPGW&Quantity.1=1',
model: 'ftw3', model: 'ftw3',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR3DPGW' url: 'https://www.amazon.ca/dp/B08HR3DPGW'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR3Y5GQ&Quantity.1=1',
model: 'ftw3 ultra', model: 'ftw3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR3Y5GQ' url: 'https://www.amazon.ca/dp/B08HR3Y5GQ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR55YB5&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR55YB5' url: 'https://www.amazon.ca/dp/B08HR55YB5'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR4RJ3Q&Quantity.1=1',
model: 'xc3', model: 'xc3',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR4RJ3Q' url: 'https://www.amazon.ca/dp/B08HR4RJ3Q'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR6FMF3&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HR6FMF3' url: 'https://www.amazon.ca/dp/B08HR6FMF3'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJTH61J&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HJTH61J' url: 'https://www.amazon.ca/dp/B08HJTH61J'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJS2JLJ&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HJS2JLJ' url: 'https://www.amazon.ca/dp/B08HJS2JLJ'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HHDP9DW&Quantity.1=1',
model: 'tuf', model: 'tuf',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HHDP9DW' url: 'https://www.amazon.ca/dp/B08HHDP9DW'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HH5WF97&Quantity.1=1',
model: 'tuf oc', model: 'tuf oc',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HH5WF97' url: 'https://www.amazon.ca/dp/B08HH5WF97'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJNKT3P&Quantity.1=1',
model: 'trinity', model: 'trinity',
series: '3080', series: '3080',
url: 'https://www.amazon.ca/dp/B08HJNKT3P' url: 'https://www.amazon.ca/dp/B08HJNKT3P'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJQ182D&Quantity.1=1',
model: 'trinity', model: 'trinity',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HJQ182D' url: 'https://www.amazon.ca/dp/B08HJQ182D'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HR9D2JS&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HR9D2JS' url: 'https://www.amazon.ca/dp/B08HR9D2JS'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJRF2CN&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HJRF2CN' url: 'https://www.amazon.ca/dp/B08HJRF2CN'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJPDJTY&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HJPDJTY' url: 'https://www.amazon.ca/dp/B08HJPDJTY'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJGNJ81&Quantity.1=1',
model: 'tuf', model: 'tuf',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HJGNJ81' url: 'https://www.amazon.ca/dp/B08HJGNJ81'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08HJLLF7G&Quantity.1=1',
model: 'tuf oc', model: 'tuf oc',
series: '3090', series: '3090',
url: 'https://www.amazon.ca/dp/B08HJLLF7G' url: 'https://www.amazon.ca/dp/B08HJLLF7G'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08166SLDF&Quantity.1=1',
model: '5600x', model: '5600x',
series: 'ryzen5600', series: 'ryzen5600',
url: 'https://www.amazon.ca/dp/B08166SLDF' url: 'https://www.amazon.ca/dp/B08166SLDF'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B0815XFSGK&Quantity.1=1',
model: '5800x', model: '5800x',
series: 'ryzen5800', series: 'ryzen5800',
url: 'https://www.amazon.ca/dp/B0815XFSGK' url: 'https://www.amazon.ca/dp/B0815XFSGK'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1',
model: '5900x', model: '5900x',
series: 'ryzen5900', series: 'ryzen5900',
url: 'https://www.amazon.ca/dp/B08164VTWH' url: 'https://www.amazon.ca/dp/B08164VTWH'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1',
model: '5950x', model: '5950x',
series: 'ryzen5950', series: 'ryzen5950',
url: 'https://www.amazon.ca/dp/B0815Y8J9N' url: 'https://www.amazon.ca/dp/B0815Y8J9N'
}, },
{ {
brand: 'sony', brand: 'sony',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08GSC5D9G&Quantity.1=1',
model: 'ps5 console', model: 'ps5 console',
series: 'sonyps5c', series: 'sonyps5c',
url: 'https://www.amazon.ca/dp/B08GSC5D9G' url: 'https://www.amazon.ca/dp/B08GSC5D9G'
}, },
{ {
brand: 'sony', brand: 'sony',
cartUrl:
'https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B08GS1N24H&Quantity.1=1',
model: 'ps5 digital', model: 'ps5 digital',
series: 'sonyps5de', series: 'sonyps5de',
url: 'https://www.amazon.ca/dp/B08GS1N24H' url: 'https://www.amazon.ca/dp/B08GS1N24H'
+125 -1
View File
@@ -22,372 +22,496 @@ export const AmazonDe: Store = {
links: [ links: [
{ {
brand: 'test:brand', brand: 'test:brand',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B083JX52VG&Quantity.1=1',
model: 'test:model', model: 'test:model',
series: 'test:series', series: 'test:series',
url: 'https://www.amazon.de/dp/B083JX52VG/' url: 'https://www.amazon.de/dp/B083JX52VG'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN7VVLJ&Quantity.1=1',
model: 'strix', model: 'strix',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HN7VVLJ' url: 'https://www.amazon.de/dp/B08HN7VVLJ'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN6KYS3&Quantity.1=1',
model: 'strix oc', model: 'strix oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HN6KYS3' url: 'https://www.amazon.de/dp/B08HN6KYS3'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN37VQK&Quantity.1=1',
model: 'tuf', model: 'tuf',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HN37VQK' url: 'https://www.amazon.de/dp/B08HN37VQK'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN4DSTC&Quantity.1=1',
model: 'tuf oc', model: 'tuf oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HN4DSTC' url: 'https://www.amazon.de/dp/B08HN4DSTC'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGBYWQ6&Quantity.1=1',
model: 'ftw3', model: 'ftw3',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HGBYWQ6' url: 'https://www.amazon.de/dp/B08HGBYWQ6'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGYXP4C&Quantity.1=1',
model: 'ftw3 ultra', model: 'ftw3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HGYXP4C' url: 'https://www.amazon.de/dp/B08HGYXP4C'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGLN78Q&Quantity.1=1',
model: 'xc3', model: 'xc3',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HGLN78Q' url: 'https://www.amazon.de/dp/B08HGLN78Q'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HH1BMQQ&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HH1BMQQ' url: 'https://www.amazon.de/dp/B08HH1BMQQ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HJ9XFNM&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HJ9XFNM' url: 'https://www.amazon.de/dp/B08HJ9XFNM'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KHLDS72&Quantity.1=1',
model: 'aorus master', model: 'aorus master',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08KHLDS72' url: 'https://www.amazon.de/dp/B08KHLDS72'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HHZVZ3N&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HHZVZ3N' url: 'https://www.amazon.de/dp/B08HHZVZ3N'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HLZXHZY&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HLZXHZY' url: 'https://www.amazon.de/dp/B08HLZXHZY'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KH7RL89&Quantity.1=1',
model: 'vision oc', model: 'vision oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08KH7RL89' url: 'https://www.amazon.de/dp/B08KH7RL89'
}, },
{ {
brand: 'inno3d', brand: 'inno3d',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08JD6QPXD&Quantity.1=1',
model: 'twin x2 oc', model: 'twin x2 oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08JD6QPXD' url: 'https://www.amazon.de/dp/B08JD6QPXD'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HM4V2DH&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HM4V2DH' url: 'https://www.amazon.de/dp/B08HM4V2DH'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HM4M621&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HM4M621' url: 'https://www.amazon.de/dp/B08HM4M621'
}, },
{ {
brand: 'palit', brand: 'palit',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08JCVWTQY&Quantity.1=1',
model: 'gaming pro', model: 'gaming pro',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08JCVWTQY' url: 'https://www.amazon.de/dp/B08JCVWTQY'
}, },
{ {
brand: 'palit', brand: 'palit',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08JCKYYL8&Quantity.1=1',
model: 'gaming pro oc', model: 'gaming pro oc',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08JCKYYL8' url: 'https://www.amazon.de/dp/B08JCKYYL8'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HR1NPPQ&Quantity.1=1',
model: 'trinity', model: 'trinity',
series: '3080', series: '3080',
url: 'https://www.amazon.de/dp/B08HR1NPPQ' url: 'https://www.amazon.de/dp/B08HR1NPPQ'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN642LY&Quantity.1=1',
model: 'strix', model: 'strix',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HN642LY' url: 'https://www.amazon.de/dp/B08HN642LY'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN51T8Q&Quantity.1=1',
model: 'strix oc', model: 'strix oc',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HN51T8Q' url: 'https://www.amazon.de/dp/B08HN51T8Q'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN4FLFJ&Quantity.1=1',
model: 'tuf', model: 'tuf',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HN4FLFJ' url: 'https://www.amazon.de/dp/B08HN4FLFJ'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HN5B8FJ&Quantity.1=1',
model: 'tuf oc', model: 'tuf oc',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HN5B8FJ' url: 'https://www.amazon.de/dp/B08HN5B8FJ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGFNPJQ&Quantity.1=1',
model: 'ftw3', model: 'ftw3',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HGFNPJQ' url: 'https://www.amazon.de/dp/B08HGFNPJQ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08J5NMDP7&Quantity.1=1',
model: 'ftw3', model: 'ftw3',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08J5NMDP7' url: 'https://www.amazon.de/dp/B08J5NMDP7'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGS1SXH&Quantity.1=1',
model: 'ftw3 ultra', model: 'ftw3 ultra',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HGS1SXH' url: 'https://www.amazon.de/dp/B08HGS1SXH'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGZ4XSZ&Quantity.1=1',
model: 'xc3', model: 'xc3',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HGZ4XSZ' url: 'https://www.amazon.de/dp/B08HGZ4XSZ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGKQ527&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HGKQ527' url: 'https://www.amazon.de/dp/B08HGKQ527'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HGTNDL4&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HGTNDL4' url: 'https://www.amazon.de/dp/B08HGTNDL4'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KH7R4FQ&Quantity.1=1',
model: 'aorus master', model: 'aorus master',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08KH7R4FQ' url: 'https://www.amazon.de/dp/B08KH7R4FQ'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HJPDJTY&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HJPDJTY' url: 'https://www.amazon.de/dp/B08HJPDJTY'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KHKDTSJ&Quantity.1=1',
model: 'turbo', model: 'turbo',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08KHKDTSJ' url: 'https://www.amazon.de/dp/B08KHKDTSJ'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HJRF2CN&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HJRF2CN' url: 'https://www.amazon.de/dp/B08HJRF2CN'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HRBW6VB&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HRBW6VB' url: 'https://www.amazon.de/dp/B08HRBW6VB'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HM661YM&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HM661YM' url: 'https://www.amazon.de/dp/B08HM661YM'
}, },
{ {
brand: 'palit', brand: 'palit',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08JQQ1VD1&Quantity.1=1',
model: 'gaming pro', model: 'gaming pro',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08JQQ1VD1' url: 'https://www.amazon.de/dp/B08JQQ1VD1'
}, },
{ {
brand: 'nvidia', brand: 'nvidia',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HR6ZBYJ&Quantity.1=1',
model: 'founders edition', model: 'founders edition',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HR6ZBYJ' url: 'https://www.amazon.de/dp/B08HR6ZBYJ'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HJQ182D&Quantity.1=1',
model: 'trinity', model: 'trinity',
series: '3090', series: '3090',
url: 'https://www.amazon.de/dp/B08HJQ182D' url: 'https://www.amazon.de/dp/B08HJQ182D'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HSJ1622&Quantity.1=1',
model: 'dual', model: 'dual',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08HSJ1622' url: 'https://www.amazon.de/dp/B08HSJ1622'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KHFZN9P&Quantity.1=1',
model: 'dual oc', model: 'dual oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08KHFZN9P' url: 'https://www.amazon.de/dp/B08KHFZN9P'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HT7PR9Y&Quantity.1=1',
model: 'strix', model: 'strix',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08HT7PR9Y' url: 'https://www.amazon.de/dp/B08HT7PR9Y'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08L8JNTXQ&Quantity.1=1',
model: 'strix oc', model: 'strix oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08L8JNTXQ' url: 'https://www.amazon.de/dp/B08L8JNTXQ'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KWPDXJZ&Quantity.1=1',
model: 'ventus 2x oc', model: 'ventus 2x oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08KWPDXJZ' url: 'https://www.amazon.de/dp/B08KWPDXJZ'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08L6PCZTR&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08L6PCZTR' url: 'https://www.amazon.de/dp/B08L6PCZTR'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KWN2LZG&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08KWN2LZG' url: 'https://www.amazon.de/dp/B08KWN2LZG'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08M13DXSZ&Quantity.1=1',
model: 'vision oc', model: 'vision oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08M13DXSZ' url: 'https://www.amazon.de/dp/B08M13DXSZ'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KHL21CV&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08KHL21CV' url: 'https://www.amazon.de/dp/B08KHL21CV'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08KHL2J5X&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08KHL2J5X' url: 'https://www.amazon.de/dp/B08KHL2J5X'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08L3QCZKZ&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08L3QCZKZ' url: 'https://www.amazon.de/dp/B08L3QCZKZ'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08L3QZP7W&Quantity.1=1',
model: 'xc3', model: 'xc3',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08L3QZP7W' url: 'https://www.amazon.de/dp/B08L3QZP7W'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08L3Q41SM&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08L3Q41SM' url: 'https://www.amazon.de/dp/B08L3Q41SM'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HRBR7K9&Quantity.1=1',
model: 'twin edge', model: 'twin edge',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08HRBR7K9' url: 'https://www.amazon.de/dp/B08HRBR7K9'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08LBVNKT1&Quantity.1=1',
model: 'twin edge oc', model: 'twin edge oc',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08LBVNKT1' url: 'https://www.amazon.de/dp/B08LBVNKT1'
}, },
{ {
brand: 'pny', brand: 'pny',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HBF5L3K&Quantity.1=1',
model: 'dual fan', model: 'dual fan',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08HBF5L3K' url: 'https://www.amazon.de/dp/B08HBF5L3K'
}, },
{ {
brand: 'pny', brand: 'pny',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08HBJB7YD&Quantity.1=1',
model: 'xlr8 revel', model: 'xlr8 revel',
series: '3070', series: '3070',
url: 'https://www.amazon.de/dp/B08HBJB7YD' url: 'https://www.amazon.de/dp/B08HBJB7YD'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08166SLDF&Quantity.1=1',
model: '5600x', model: '5600x',
series: 'ryzen5600', series: 'ryzen5600',
url: 'https://www.amazon.de/dp/B08166SLDF' url: 'https://www.amazon.de/dp/B08166SLDF'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B0815XFSGK&Quantity.1=1',
model: '5800x', model: '5800x',
series: 'ryzen5800', series: 'ryzen5800',
url: 'https://www.amazon.de/dp/B0815XFSGK' url: 'https://www.amazon.de/dp/B0815XFSGK'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1',
model: '5900x', model: '5900x',
series: 'ryzen5900', series: 'ryzen5900',
url: 'https://www.amazon.de/dp/B08164VTWH' url: 'https://www.amazon.de/dp/B08164VTWH'
}, },
{ {
brand: 'amd', brand: 'amd',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1',
model: '5950x', model: '5950x',
series: 'ryzen5950', series: 'ryzen5950',
url: 'https://www.amazon.de/dp/B0815Y8J9N' url: 'https://www.amazon.de/dp/B0815Y8J9N'
}, },
{ {
brand: 'sony', brand: 'sony',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08H93ZRK9&Quantity.1=1',
model: 'ps5 console', model: 'ps5 console',
series: 'sonyps5c', series: 'sonyps5c',
url: 'https://www.amazon.de/dp/B08H93ZRK9' url: 'https://www.amazon.de/dp/B08H93ZRK9'
}, },
{ {
brand: 'sony', brand: 'sony',
cartUrl:
'https://www.amazon.de/gp/aws/cart/add.html?ASIN.1=B08H98GVK8&Quantity.1=1',
model: 'ps5 digital', model: 'ps5 digital',
series: 'sonyps5de', series: 'sonyps5de',
url: 'https://www.amazon.de/dp/B08H98GVK8' url: 'https://www.amazon.de/dp/B08H98GVK8'
+61 -1
View File
@@ -18,87 +18,147 @@ export const AmazonEs: Store = {
links: [ links: [
{ {
brand: 'test:brand', brand: 'test:brand',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B083JX52VG&Quantity.1=1',
model: 'test:model', model: 'test:model',
series: 'test:series', series: 'test:series',
url: 'https://www.amazon.es/dp/B083JX52VG/' url: 'https://www.amazon.es/dp/B083JX52VG'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HM4V2DH&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HM4V2DH' url: 'https://www.amazon.es/dp/B08HM4V2DH'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HGYXP4C&Quantity.1=1',
model: 'ftw3 ultra', model: 'ftw3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HGYXP4C' url: 'https://www.amazon.es/dp/B08HGYXP4C'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HJ9XFNM&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HJ9XFNM' url: 'https://www.amazon.es/dp/B08HJ9XFNM'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HGBYWQ6&Quantity.1=1',
model: 'ftw3', model: 'ftw3',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HGBYWQ6' url: 'https://www.amazon.es/dp/B08HGBYWQ6'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HGLN78Q&Quantity.1=1',
model: 'xc3', model: 'xc3',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HGLN78Q' url: 'https://www.amazon.es/dp/B08HGLN78Q'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HH1BMQQ&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HH1BMQQ' url: 'https://www.amazon.es/dp/B08HH1BMQQ'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HLZXHZY&Quantity.1=1',
model: 'gaming oc', model: 'gaming oc',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HLZXHZY' url: 'https://www.amazon.es/dp/B08HLZXHZY'
}, },
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HHZVZ3N&Quantity.1=1',
model: 'eagle oc', model: 'eagle oc',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HHZVZ3N' url: 'https://www.amazon.es/dp/B08HHZVZ3N'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HN37VQK&Quantity.1=1',
model: 'tuf', model: 'tuf',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HN37VQK' url: 'https://www.amazon.es/dp/B08HN37VQK'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HN4DSTC&Quantity.1=1',
model: 'tuf oc', model: 'tuf oc',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HN4DSTC' url: 'https://www.amazon.es/dp/B08HN4DSTC'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HN6KYS3&Quantity.1=1',
model: 'strix oc', model: 'strix oc',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HN6KYS3' url: 'https://www.amazon.es/dp/B08HN6KYS3'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HM4M621&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HM4M621' url: 'https://www.amazon.es/dp/B08HM4M621'
}, },
{ {
brand: 'zotac', brand: 'zotac',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08HR1NPPQ&Quantity.1=1',
model: 'trinity', model: 'trinity',
series: '3080', series: '3080',
url: 'https://www.amazon.es/dp/B08HR1NPPQ' url: 'https://www.amazon.es/dp/B08HR1NPPQ'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08166SLDF&Quantity.1=1',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.amazon.es/dp/B08166SLDF'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B0815XFSGK&Quantity.1=1',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.amazon.es/dp/B0815XFSGK'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1',
model: '5900x',
series: 'ryzen5900',
url: 'https://www.amazon.es/dp/B08164VTWH'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.es/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1',
model: '5950x',
series: 'ryzen5950',
url: 'https://www.amazon.es/dp/B0815Y8J9N'
} }
], ],
name: 'amazon-es' name: 'amazon-es'
+171
View File
@@ -0,0 +1,171 @@
import {Store} from './store';
export const AmazonFr: Store = {
labels: {
captcha: {
container: 'body',
text: ['entrez les caractères que vous voyez ci-dessous']
},
inStock: {
container: '#desktop_buybox',
text: ['ajouter au panier']
},
maxPrice: {
container: 'span[class*="PriceString"]',
euroFormat: false
}
},
links: [
{
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url: 'https://www.amazon.fr/dp/B07PBLD2MX'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR7SV3M'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR5SXPS'
},
{
brand: 'evga',
model: 'ftw3',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR3DPGW'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR3Y5GQ'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR55YB5'
},
{
brand: 'evga',
model: 'xc3',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR4RJ3Q'
},
{
brand: 'evga',
model: 'xc3 black',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HR6FMF3'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HJTH61J'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HJS2JLJ'
},
{
brand: 'asus',
model: 'tuf',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HHDP9DW'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HH5WF97'
},
{
brand: 'zotac',
model: 'trinity',
series: '3080',
url: 'https://www.amazon.fr/dp/B08HJNKT3P'
},
{
brand: 'zotac',
model: 'trinity',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HJQ182D'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HR9D2JS'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HJRF2CN'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HJPDJTY'
},
{
brand: 'asus',
model: 'tuf',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HJGNJ81'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3090',
url: 'https://www.amazon.fr/dp/B08HJLLF7G'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.amazon.fr/dp/B08166SLDF'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.amazon.fr/dp/B0815XFSGK'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url: 'https://www.amazon.fr/dp/B08164VTWH'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url: 'https://www.amazon.fr/dp/B0815Y8J9N'
},
{
brand: 'sony',
model: 'ps5 console',
series: 'sonyps5c',
url: 'https://www.amazon.fr/dp/B08GSC5D9G'
},
{
brand: 'sony',
model: 'ps5 digital',
series: 'sonyps5de',
url: 'https://www.amazon.fr/dp/B08GS1N24H'
}
],
name: 'amazon-fr'
};
+44
View File
@@ -33,39 +33,83 @@ export const AmazonNl: Store = {
links: [ links: [
{ {
brand: 'test:brand', brand: 'test:brand',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B083GGYNQ6&Quantity.1=1',
model: 'test:model', model: 'test:model',
series: 'test:series', series: 'test:series',
url: 'https://www.amazon.nl/dp/B083GGYNQ6' url: 'https://www.amazon.nl/dp/B083GGYNQ6'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08HM4M621&Quantity.1=1',
model: 'ventus 3x oc', model: 'ventus 3x oc',
series: '3080', series: '3080',
url: 'https://www.amazon.nl/dp/B08HM4M621' url: 'https://www.amazon.nl/dp/B08HM4M621'
}, },
{ {
brand: 'msi', brand: 'msi',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08HM4V2DH&Quantity.1=1',
model: 'gaming x trio', model: 'gaming x trio',
series: '3080', series: '3080',
url: 'https://www.amazon.nl/dp/B08HM4V2DH' url: 'https://www.amazon.nl/dp/B08HM4V2DH'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08HJ9XFNM&Quantity.1=1',
model: 'xc3 ultra', model: 'xc3 ultra',
series: '3080', series: '3080',
url: 'https://www.amazon.nl/dp/B08HJ9XFNM' url: 'https://www.amazon.nl/dp/B08HJ9XFNM'
}, },
{ {
brand: 'evga', brand: 'evga',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08HH1BMQQ&Quantity.1=1',
model: 'xc3 black', model: 'xc3 black',
series: '3080', series: '3080',
url: 'https://www.amazon.nl/dp/B08HH1BMQQ' url: 'https://www.amazon.nl/dp/B08HH1BMQQ'
}, },
{ {
brand: 'asus', brand: 'asus',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08HN7VVLJ&Quantity.1=1',
model: 'strix', model: 'strix',
series: '3080', series: '3080',
url: 'https://www.amazon.nl/dp/B08HN7VVLJ' url: 'https://www.amazon.nl/dp/B08HN7VVLJ'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08166SLDF&Quantity.1=1',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.amazon.nl/dp/B08166SLDF'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B0815XFSGK&Quantity.1=1',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.amazon.nl/dp/B0815XFSGK'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1',
model: '5900x',
series: 'ryzen5900',
url: 'https://www.amazon.nl/dp/B08164VTWH'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.nl/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1',
model: '5950x',
series: 'ryzen5950',
url: 'https://www.amazon.nl/dp/B0815Y8J9N'
} }
], ],
name: 'amazon-nl' name: 'amazon-nl'
+1 -1
View File
@@ -88,7 +88,7 @@ export const AmazonUk: Store = {
url url
}); });
} else { } else {
logger.error(`Failed to parse card: ${title}`); logger.error(`Failed to parse card: ${title}`, {url});
} }
} }
+187 -2
View File
@@ -1,6 +1,7 @@
import {Store} from './store'; import {Store} from './store';
export const Amazon: Store = { export const Amazon: Store = {
backoffStatusCodes: [403, 429, 503],
labels: { labels: {
captcha: { captcha: {
container: 'body', container: 'body',
@@ -23,6 +24,14 @@ export const Amazon: Store = {
series: 'test:series', series: 'test:series',
url: 'https://www.amazon.com/dp/B07TDN1SC5' url: 'https://www.amazon.com/dp/B07TDN1SC5'
}, },
{
brand: 'asus',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08L8LG4M3&Quantity.1=1',
model: 'dual',
series: '3070',
url: 'https://www.amazon.com/dp/B08L8LG4M3'
},
{ {
brand: 'asus', brand: 'asus',
cartUrl: cartUrl:
@@ -39,6 +48,22 @@ export const Amazon: Store = {
series: '3070', series: '3070',
url: 'https://www.amazon.com/dp/B08LW46GH2' url: 'https://www.amazon.com/dp/B08LW46GH2'
}, },
{
brand: 'asus',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08L8JNTXQ&Quantity.1=1',
model: 'strix',
series: '3070',
url: 'https://www.amazon.com/dp/B08L8JNTXQ'
},
{
brand: 'asus',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08L8KC1J7&Quantity.1=1',
model: 'tuf',
series: '3070',
url: 'https://www.amazon.com/dp/B08L8KC1J7'
},
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl: cartUrl:
@@ -47,6 +72,14 @@ export const Amazon: Store = {
series: '3070', series: '3070',
url: 'https://www.amazon.com/dp/B08KY266MG' url: 'https://www.amazon.com/dp/B08KY266MG'
}, },
{
brand: 'msi',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08KWN2LZG&Quantity.1=1',
model: 'gaming',
series: '3070',
url: 'https://www.amazon.com/dp/B08KWN2LZG'
},
{ {
brand: 'pny', brand: 'pny',
cartUrl: cartUrl:
@@ -63,6 +96,14 @@ export const Amazon: Store = {
series: '3070', series: '3070',
url: 'https://www.amazon.com/dp/B08HBF5L3K' url: 'https://www.amazon.com/dp/B08HBF5L3K'
}, },
{
brand: 'msi',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08KWPDXJZ&Quantity.1=1',
model: 'ventus 2x oc',
series: '3070',
url: 'https://www.amazon.com/dp/B08KWPDXJZ'
},
{ {
brand: 'msi', brand: 'msi',
cartUrl: cartUrl:
@@ -79,6 +120,78 @@ export const Amazon: Store = {
series: '3070', series: '3070',
url: 'https://www.amazon.com/dp/B08LF1CWT2' url: 'https://www.amazon.com/dp/B08LF1CWT2'
}, },
{
brand: 'zotac',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08LF32LJ6&Quantity.1=1',
model: 'gaming',
series: '3070',
url: 'https://www.amazon.com/dp/B08LF32LJ6'
},
{
brand: 'evga',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08L8L71SM&Quantity.1=1',
model: 'xc3 ultra',
series: '3070',
url: 'https://www.amazon.com/dp/B08L8L71SM'
},
{
brand: 'evga',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08L8L9TCZ&Quantity.1=1',
model: 'ftw3',
series: '3070',
url: 'https://www.amazon.com/dp/B08L8L9TCZ'
},
{
brand: 'evga',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08LW46GH2&Quantity.1=1',
model: 'xc3 black',
series: '3070',
url: 'https://www.amazon.com/dp/B08LW46GH2'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08KY266MG&Quantity.1=1',
model: 'gaming oc',
series: '3070',
url: 'https://www.amazon.com/dp/B08KY266MG'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08M13DXSZ&Quantity.1=1',
model: 'vision oc',
series: '3070',
url: 'https://www.amazon.com/dp/B08M13DXSZ'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08M4YFNX2&Quantity.1=1',
model: 'gaming oc',
series: '3070',
url: 'https://www.amazon.com/dp/B08M4YFNX2'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08KXZV626&Quantity.1=1',
model: 'eagle',
series: '3070',
url: 'https://www.amazon.com/dp/B08KXZV626'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08KY322TH&Quantity.1=1',
model: 'eagle oc',
series: '3070',
url: 'https://www.amazon.com/dp/B08KY322TH'
},
{ {
brand: 'pny', brand: 'pny',
cartUrl: cartUrl:
@@ -279,13 +392,29 @@ export const Amazon: Store = {
series: '3090', series: '3090',
url: 'https://www.amazon.com/dp/B08HJLLF7G' url: 'https://www.amazon.com/dp/B08HJLLF7G'
}, },
{
brand: 'amd',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08166SLDF&Quantity.1=1',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.amazon.com/dp/B08166SLDF'
},
{
brand: 'amd',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B0815XFSGK&Quantity.1=1',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.amazon.com/dp/product/B0815XFSGK'
},
{ {
brand: 'amd', brand: 'amd',
cartUrl: cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1', 'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08164VTWH&Quantity.1=1',
model: '5900x', model: '5900x',
series: 'ryzen5900', series: 'ryzen5900',
url: 'https://www.amazon.com/dp/product/B08164VTWH' url: 'https://www.amazon.com/dp/B08164VTWH'
}, },
{ {
brand: 'amd', brand: 'amd',
@@ -293,7 +422,47 @@ export const Amazon: Store = {
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1', 'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B0815Y8J9N&Quantity.1=1',
model: '5950x', model: '5950x',
series: 'ryzen5950', series: 'ryzen5950',
url: 'https://www.amazon.com/dp/product/B0815Y8J9N' url: 'https://www.amazon.com/dp/B0815Y8J9N'
},
{
brand: 'gigabyte',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08NS4W2ZY&Quantity.1=1',
model: 'amd reference',
series: 'rx6800xt',
url: 'https://www.amazon.com/dp/B08NS4W2ZY'
},
{
brand: 'sapphire',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08MVC76SR&Quantity.1=1',
model: 'amd reference',
series: 'rx6800xt',
url: 'https://www.amazon.com/dp/B08MVC76SR'
},
{
brand: 'xfx',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08N6ZLX9B&Quantity.1=1',
model: 'amd reference',
series: 'rx6800xt',
url: 'https://www.amazon.com/dp/B08N6ZLX9B'
},
{
brand: 'powercolor',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08MNZM5TK&Quantity.1=1',
model: 'amd reference',
series: 'rx6800',
url: 'https://www.amazon.com/dp/B08MNZM5TK'
},
{
brand: 'sapphire',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B08MVCLBWK&Quantity.1=1',
model: 'amd reference',
series: 'rx6800',
url: 'https://www.amazon.com/dp/B08MVCLBWK'
}, },
{ {
brand: 'sony', brand: 'sony',
@@ -322,6 +491,22 @@ export const Amazon: Store = {
model: 'xbox series s', model: 'xbox series s',
series: 'xboxss', series: 'xboxss',
url: 'https://www.amazon.com/dp/B08G9J44ZN' url: 'https://www.amazon.com/dp/B08G9J44ZN'
},
{
brand: 'corsair',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B07M63H81H&Quantity.1=1',
model: '750 platinum',
series: 'sf',
url: 'https://www.amazon.com/dp/B07M63H81H'
},
{
brand: 'corsair',
cartUrl:
'https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=B07F84FJ1G&Quantity.1=1',
model: '600 platinum',
series: 'sf',
url: 'https://www.amazon.com/dp/B07F84FJ1G'
} }
], ],
name: 'amazon' name: 'amazon'
+1 -1
View File
@@ -1,6 +1,6 @@
import {Store} from './store'; import {Store} from './store';
export const AMDDe: Store = { export const AmdDe: Store = {
labels: { labels: {
inStock: { inStock: {
container: '.btn-shopping-cart', container: '.btn-shopping-cart',
+9 -1
View File
@@ -1,6 +1,6 @@
import {Store} from './store'; import {Store} from './store';
export const AMD: Store = { export const Amd: Store = {
labels: { labels: {
inStock: { inStock: {
container: '.btn-shopping-cart', container: '.btn-shopping-cart',
@@ -49,6 +49,14 @@ export const AMD: Store = {
model: '5600x', model: '5600x',
series: 'ryzen5600', series: 'ryzen5600',
url: 'https://www.amd.com/en/direct-buy/5450881700/us' url: 'https://www.amd.com/en/direct-buy/5450881700/us'
},
{
brand: 'amd',
cartUrl:
'https://www.amd.com/en/direct-buy/5458372800/us?add-to-cart=true',
model: 'amd reference',
series: 'rx6800xt',
url: 'https://www.amd.com/en/direct-buy/5458372800/us'
} }
], ],
name: 'amd' name: 'amd'
+7
View File
@@ -23,6 +23,13 @@ export const Aria: Store = {
series: 'test:series', series: 'test:series',
url: url:
'https://www.aria.co.uk/Products/Components/Graphics+Cards/NVIDIA+GeForce/GeForce+RTX+2060+Super/Gigabyte+NVIDIA+GeForce+RTX+2060+SUPER+8GB+WINDFORCE+OC+Turing+Graphics+Card+%2B+RTX+Bundle%21?productId=71541' 'https://www.aria.co.uk/Products/Components/Graphics+Cards/NVIDIA+GeForce/GeForce+RTX+2060+Super/Gigabyte+NVIDIA+GeForce+RTX+2060+SUPER+8GB+WINDFORCE+OC+Turing+Graphics+Card+%2B+RTX+Bundle%21?productId=71541'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.aria.co.uk/Products/Components/Processors/AMD+CPUs/Ryzen+9+-+Socket+AM4/AMD+Ryzen+9+5950X+16+Core+AM4+CPU%2FProcessor?productId=72868'
} }
], ],
linksBuilder: { linksBuilder: {
+1
View File
@@ -2,6 +2,7 @@ import {Store} from './store';
import fetch from 'node-fetch'; import fetch from 'node-fetch';
export const Asus: Store = { export const Asus: Store = {
backoffStatusCodes: [403, 429, 503],
labels: { labels: {
inStock: { inStock: {
container: '#item_add_cart', container: '#item_add_cart',
+35
View File
@@ -20,6 +20,27 @@ export const BAndH: Store = {
url: url:
'https://www.bhphotovideo.com/c/product/1452927-REG/evga_06g_p4_2063_kr_geforce_rtx_2060_xc.html' 'https://www.bhphotovideo.com/c/product/1452927-REG/evga_06g_p4_2063_kr_geforce_rtx_2060_xc.html'
}, },
{
brand: 'asus',
model: 'dual',
series: '3070',
url:
'https://www.bhphotovideo.com/c/product/1602755-REG/asus_dualrtx30708g_geforce_rtx_3070_8g.html'
},
{
brand: 'pny',
model: 'dual fan',
series: '3070',
url:
'https://www.bhphotovideo.com/c/product/1595984-REG/pny_technologies_vcg30708tfxppb_geforce_rtx_3070_epic_x.html'
},
{
brand: 'asus',
model: 'strix oc',
series: '3070',
url:
'https://www.bhphotovideo.com/c/product/1602756-REG/asus_strixrtx3070o8_rog_strix_geforce_rtx.html'
},
// TUF was removed from BH, not sure why so commenting out listing for now // TUF was removed from BH, not sure why so commenting out listing for now
// { // {
// brand: 'asus', // brand: 'asus',
@@ -166,6 +187,20 @@ export const BAndH: Store = {
series: 'ryzen5600', series: 'ryzen5600',
url: url:
'https://www.bhphotovideo.com/c/product/1598377-REG/amd_100_100000065box_ryzen_5_5600x_3_7.html' 'https://www.bhphotovideo.com/c/product/1598377-REG/amd_100_100000065box_ryzen_5_5600x_3_7.html'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.bhphotovideo.com/c/product/1598377-REG/amd_100_100000065box_ryzen_5_5600x_3_7.html'
},
{
brand: 'corsair',
model: '750 platinum',
series: 'sf',
url:
'https://www.bhphotovideo.com/c/product/1560680-REG/corsair_cp_9020186_na_corsair_sf750_power_supply.html'
} }
], ],
name: 'bandh' name: 'bandh'
+2 -2
View File
@@ -3,8 +3,8 @@ import {Store} from './store';
export const BestBuyCa: Store = { export const BestBuyCa: Store = {
labels: { labels: {
inStock: { inStock: {
container: '#root', container: '.x-product-detail-page .addToCartButton:enabled',
text: ['available online'] text: ['Add to Cart']
}, },
maxPrice: { maxPrice: {
container: container:
+140 -40
View File
@@ -28,6 +28,102 @@ export const BestBuy: Store = {
url: url:
'https://www.bestbuy.com/site/nvidia-geforce-rtx-3070-8gb-gddr6-pci-express-4-0-graphics-card-dark-platinum-and-black/6429442.p?skuId=6429442&intl=nosplash' 'https://www.bestbuy.com/site/nvidia-geforce-rtx-3070-8gb-gddr6-pci-express-4-0-graphics-card-dark-platinum-and-black/6429442.p?skuId=6429442&intl=nosplash'
}, },
{
brand: 'evga',
cartUrl: 'https://api.bestbuy.com/click/-/6439300/cart',
model: 'xc3 black',
series: '3070',
url:
'https://www.bestbuy.com/site/evga-geforce-rtx-3070-xc3-black-gaming-8gb-gddr6x-pci-express-4-0-graphics-card/6439300.p?skuId=6439300&intl=nosplash'
},
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6437912/cart',
model: 'eagle',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-black/6437912.p?skuId=6437912&intl=nosplash'
},
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6437909/cart',
model: 'gaming oc',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-black/6437909.p?skuId=6437909&intl=nosplash'
},
{
brand: 'pny',
cartUrl: 'https://api.bestbuy.com/click/-/6432654/cart',
model: 'dual fan',
series: '3070',
url:
'https://www.bestbuy.com/site/pny-geforce-rtx-3070-8gb-dual-fan-graphics-card/6432654.p?skuId=6432654&intl=nosplash'
},
{
brand: 'pny',
cartUrl: 'https://api.bestbuy.com/click/-/6432653/cart',
model: 'xlr8 revel',
series: '3070',
url:
'https://www.bestbuy.com/site/pny-geforce-rtx-3070-8gb-xlr8-gaming-epic-x-rgb-triple-fan-graphics-card/6432653.p?skuId=6432653&intl=nosplash'
},
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6439384/cart',
model: 'aorus',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-black/6439384.p?skuId=6439384'
},
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6439385/cart',
model: 'vision',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-white/6439385.p?skuId=6439385'
},
{
brand: 'asus',
cartUrl: 'https://api.bestbuy.com/click/-/6439128/cart',
model: 'tuf',
series: '3070',
url:
'https://www.bestbuy.com/site/asus-tuf-rtx3070-8gb-gddr6-pci-express-4-0-graphics-card-black/6439128.p?skuId=6439128'
},
{
brand: 'msi',
cartUrl: 'https://api.bestbuy.com/click/-/6438278/cart',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.bestbuy.com/site/msi-geforce-rtx-3070-ventus-3x-oc-bv-8gb-gddr6-pci-express-4-0-graphics-card-black/6438278.p?skuId=6438278'
},
{
brand: 'asus',
cartUrl: 'https://api.bestbuy.com/click/-/6439127/cart',
model: 'strix',
series: '3070',
url:
'https://www.bestbuy.com/site/asus-rog-strix-rtx3070-8gb-gddr6-pci-express-4-0-graphics-card-black/6439127.p?skuId=6439127'
},
{
brand: 'evga',
cartUrl: 'https://api.bestbuy.com/click/-/6439301/cart',
model: 'ftw3 ultra',
series: '3070',
url:
'https://www.bestbuy.com/site/evga-geforce-rtx-3070-ftw3-ultra-gaming-8gb-gddr6x-pci-express-4-0-graphics-card/6439301.p?skuId=6439301'
},
{
brand: 'evga',
cartUrl: 'https://api.bestbuy.com/click/-/6439299/cart',
model: 'xc3 ultra',
series: '3070',
url:
'https://www.bestbuy.com/site/evga-geforce-rtx-3070-xc3-ultra-gaming-8gb-gddr6x-pci-express-4-0-graphics-card/6439299.p?skuId=6439299'
},
{ {
brand: 'nvidia', brand: 'nvidia',
cartUrl: 'https://api.bestbuy.com/click/-/6429440/cart', cartUrl: 'https://api.bestbuy.com/click/-/6429440/cart',
@@ -44,14 +140,6 @@ export const BestBuy: Store = {
url: url:
'https://www.bestbuy.com/site/asus-geforce-rtx-3080-10gb-gddr6x-pci-express-4-0-strix-graphics-card-black/6432445.p?skuId=6432445&intl=nosplash' 'https://www.bestbuy.com/site/asus-geforce-rtx-3080-10gb-gddr6x-pci-express-4-0-strix-graphics-card-black/6432445.p?skuId=6432445&intl=nosplash'
}, },
{
brand: 'evga',
cartUrl: 'https://api.bestbuy.com/click/-/6439300/cart',
model: 'xc3 black',
series: '3070',
url:
'https://www.bestbuy.com/site/evga-geforce-rtx-3070-xc3-black-gaming-8gb-gddr6x-pci-express-4-0-graphics-card/6439300.p?skuId=6439300&intl=nosplash'
},
{ {
brand: 'evga', brand: 'evga',
cartUrl: 'https://api.bestbuy.com/click/-/6432399/cart', cartUrl: 'https://api.bestbuy.com/click/-/6432399/cart',
@@ -92,22 +180,6 @@ export const BestBuy: Store = {
url: url:
'https://www.bestbuy.com/site/evga-geforce-rtx-3080-10gb-gddr6x-pci-express-4-0-graphics-card/6436191.p?skuId=6436191&intl=nosplash' 'https://www.bestbuy.com/site/evga-geforce-rtx-3080-10gb-gddr6x-pci-express-4-0-graphics-card/6436191.p?skuId=6436191&intl=nosplash'
}, },
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6437912/cart',
model: 'eagle',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-black/6437912.p?skuId=6437912&intl=nosplash'
},
{
brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6437909/cart',
model: 'gaming oc',
series: '3070',
url:
'https://www.bestbuy.com/site/gigabyte-geforce-rtx-3070-8g-gddr6-pci-express-4-0-graphics-card-black/6437909.p?skuId=6437909&intl=nosplash'
},
{ {
brand: 'gigabyte', brand: 'gigabyte',
cartUrl: 'https://api.bestbuy.com/click/-/6430620/cart', cartUrl: 'https://api.bestbuy.com/click/-/6430620/cart',
@@ -148,22 +220,6 @@ export const BestBuy: Store = {
url: url:
'https://www.bestbuy.com/site/msi-geforce-rtx-3080-ventus-3x-10g-oc-bv-gddr6x-pci-express-4-0-graphic-card-black-silver/6430175.p?skuId=6430175&intl=nosplash' 'https://www.bestbuy.com/site/msi-geforce-rtx-3080-ventus-3x-10g-oc-bv-gddr6x-pci-express-4-0-graphic-card-black-silver/6430175.p?skuId=6430175&intl=nosplash'
}, },
{
brand: 'pny',
cartUrl: 'https://api.bestbuy.com/click/-/6432654/cart',
model: 'dual fan',
series: '3070',
url:
'https://www.bestbuy.com/site/pny-geforce-rtx-3070-8gb-dual-fan-graphics-card/6432654.p?skuId=6432654&intl=nosplash'
},
{
brand: 'pny',
cartUrl: 'https://api.bestbuy.com/click/-/6432653/cart',
model: 'xlr8 revel',
series: '3070',
url:
'https://www.bestbuy.com/site/pny-geforce-rtx-3070-8gb-xlr8-gaming-epic-x-rgb-triple-fan-graphics-card/6432653.p?skuId=6432653&intl=nosplash'
},
{ {
brand: 'pny', brand: 'pny',
cartUrl: 'https://api.bestbuy.com/click/-/6432655/cart', cartUrl: 'https://api.bestbuy.com/click/-/6432655/cart',
@@ -321,6 +377,50 @@ export const BestBuy: Store = {
series: 'xboxss', series: 'xboxss',
url: url:
'https://www.bestbuy.com/site/microsoft-xbox-series-s-512-gb-all-digital-console-disc-free-gaming-white/6430277.p?skuId=6430277' 'https://www.bestbuy.com/site/microsoft-xbox-series-s-512-gb-all-digital-console-disc-free-gaming-white/6430277.p?skuId=6430277'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.bestbuy.com/site/msi-radeon-rx-6800-xt-16g-16gb-gddr6-pci-express-4-0-graphics-card-black-black/6440913.p?skuId=6440913'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.bestbuy.com/site/msi-radeon-rx-6800-16g-16gb-gddr6-pci-express-4-0-graphics-card-black-black/6441020.p?skuId=6441020'
},
{
brand: 'xfx',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.bestbuy.com/site/xfx-amd-radeon-rx-6800-16gb-gddr6-pci-express-4-0-gaming-graphics-card-black/6442077.p?skuId=6442077'
},
{
brand: 'xfx',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.bestbuy.com/site/xfx-amd-radeon-rx-6800xt-16gb-gddr6-pci-express-4-0-gaming-graphics-card-black/6441226.p?skuId=6441226'
},
{
brand: 'corsair',
cartUrl: 'https://api.bestbuy.com/click/-/6351845/cart',
model: '750 platinum',
series: 'sf',
url:
'https://www.bestbuy.com/site/corsair-sf-series-750w-atx12v-2-4-eps12v-2-92-sfx12v-80-plus-platinum-modular-power-supply-black/6351845.p?skuId=6351845'
},
{
brand: 'corsair',
cartUrl: 'https://api.bestbuy.com/click/-/6351844/cart',
model: '600 platinum',
series: 'sf',
url:
'https://www.bestbuy.com/site/corsair-sf-series-600w-atx12v-2-4-eps12v-2-92-sfx12v-80-plus-platinum-modular-power-supply-black/6351844.p?skuId=6351844'
} }
], ],
name: 'bestbuy' name: 'bestbuy'
+385
View File
@@ -0,0 +1,385 @@
import {Store} from './store';
export const CanadaComputers: Store = {
labels: {
outOfStock: {
container: 'div[class="pi-prod-availability"]',
text: ['not available online']
}
},
links: [
{
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181348'
},
{
brand: 'gigabyte',
model: 'eagle',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183101'
},
{
brand: 'evga',
model: 'xc3 black',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183500'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183099'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183210'
},
{
brand: 'asus',
model: 'dual',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183635'
},
{
brand: 'asus',
model: 'dual oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183636'
},
{
brand: 'asus',
model: 'strix oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183637'
},
{
brand: 'gigabyte',
model: 'vision oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184168'
},
{
brand: 'gigabyte',
model: 'aorus master',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184167'
},
{
brand: 'zotac',
model: 'twin edge oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183561'
},
{
brand: 'msi',
model: 'ventus 2x oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183208'
},
{
brand: 'zotac',
model: 'twin edge',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183560'
},
{
brand: 'asus',
model: 'gaming oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183638'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183498'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183209'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183100'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183499'
},
{
brand: 'asus',
model: 'gaming',
series: '3070',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184743'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181376'
},
{
brand: 'asus',
model: 'strix',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181842'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181348'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181354'
},
{
brand: 'asus',
model: 'gaming',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181416'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181375'
},
{
brand: 'zotac',
model: 'trinity',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181420'
},
{
brand: 'zotac',
model: 'trinity oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184837'
},
{
brand: 'asus',
model: 'gaming oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181415'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181353'
},
{
brand: 'asus',
model: 'gaming',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184743'
},
{
brand: 'msi',
model: 'ventus 3x',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181347'
},
{
brand: 'gigabyte',
model: 'aorus master',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=182754'
},
{
brand: 'evga',
model: 'xc3 black',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181797'
},
{
brand: 'gigabyte',
model: 'vision oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=182755'
},
{
brand: 'gigabyte',
model: 'aorus xtreme',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183098'
},
{
brand: 'zotac',
model: 'trinity oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183510'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=184166'
},
{
brand: 'evga',
model: 'xc3',
series: '3080',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181798'
},
{
brand: 'asus',
model: 'strix oc',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181841'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181854'
},
{
brand: 'asus',
model: 'gaming oc',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181413'
},
{
brand: 'zotac',
model: 'trinity',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181419'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181351'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181350'
},
{
brand: 'asus',
model: 'gaming',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181414'
},
{
brand: 'msi',
model: 'ventus 3x',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181349'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181853'
},
{
brand: 'gigabyte',
model: 'aorus xtreme',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=183096'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3090',
url:
'https://www.canadacomputers.com/product_info.php?cPath=43_557_559&item_id=181352'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.canadacomputers.com/product_info.php?cPath=4_64&item_id=183432'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.canadacomputers.com/product_info.php?cPath=4_64&item_id=183431'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.canadacomputers.com/product_info.php?cPath=4_64&item_id=183430'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.canadacomputers.com/product_info.php?cPath=4_64&item_id=183427'
}
],
name: 'canadacomputers',
waitUntil: 'domcontentloaded'
};
+28
View File
@@ -23,6 +23,34 @@ export const Ccl: Store = {
series: 'test:series', series: 'test:series',
url: url:
'https://www.cclonline.com/product/296443/RTX-2060-SUPER-VENTUS-GP-OC/Graphics-Cards/MSI-GeForce-RTX-2060-SUPER-VENTUS-GP-OC-8GB-Overclocked-Graphics-Card/VGA5671/' 'https://www.cclonline.com/product/296443/RTX-2060-SUPER-VENTUS-GP-OC/Graphics-Cards/MSI-GeForce-RTX-2060-SUPER-VENTUS-GP-OC-8GB-Overclocked-Graphics-Card/VGA5671/'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.cclonline.com/product/331765/100-100000065BOX/CPU-Processors/AMD-Ryzen-5-5600X-3-7GHz-Hexa-Core-Processor-with-6-Cores-12-Threads-65W-TDP-35MB-Cache-4-6GHz-Turbo-Wraith-Stealth-Cooler/CPU0679/'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.cclonline.com/product/331766/100-100000063WOF/CPU-Processors/AMD-Ryzen-7-5800X-3-8GHz-Octa-Core-Processor-with-8-Cores-16-Threads-105W-TDP-36MB-Cache-4-7GHz-Turbo-No-Cooler/CPU0680/'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.cclonline.com/product/331767/100-100000061WOF/CPU-Processors/AMD-Ryzen-9-5900X-3-7GHz-Dodeca-Core-Processor-with-12-Cores-24-Threads-105W-TDP-70MB-Cache-4-8GHz-Turbo-No-Cooler/CPU0681/'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.cclonline.com/product/331768/100-100000059WOF/CPU-Processors/AMD-Ryzen-9-5950X-3-4GHz-Hexadeca-Core-Processor-with-16-Cores-32-Threads-105W-TDP-72MB-Cache-4-9GHz-Turbo-No-Cooler/CPU0682/'
} }
], ],
linksBuilder: { linksBuilder: {
+74
View File
@@ -6,6 +6,10 @@ export const Coolmod: Store = {
container: '.product-availability', container: '.product-availability',
text: ['Envío'] text: ['Envío']
}, },
maxPrice: {
container: '.text-price-total',
euroFormat: true
},
outOfStock: { outOfStock: {
container: '.product-availability', container: '.product-availability',
text: ['Sin Stock'] text: ['Sin Stock']
@@ -214,6 +218,76 @@ export const Coolmod: Store = {
series: 'ryzen5950', series: 'ryzen5950',
url: url:
'https://www.coolmod.com/amd-ryzen-9-5950x-49ghz-socket-am4-boxed-procesador-precio' 'https://www.coolmod.com/amd-ryzen-9-5950x-49ghz-socket-am4-boxed-procesador-precio'
},
{
brand: 'asus',
model: 'dual',
series: '3070',
url:
'https://www.coolmod.com/asus-dual-geforce-rtx-3070-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3070',
url:
'https://www.coolmod.com/msi-geforce-rtx-3070-gaming-x-trio-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'msi',
model: 'ventus 2x',
series: '3070',
url:
'https://www.coolmod.com/msi-geforce-rtx-3070-ventus-2x-oc-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'evga',
model: 'xc3',
series: '3070',
url:
'https://www.coolmod.com/evga-geforce-rtx-3070-xc3-black-gaming-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'asus',
model: 'strix',
series: '3070',
url:
'https://www.coolmod.com/asus-rog-strix-geforce-rtx-3070-gaming-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'gigabyte',
model: 'eagle',
series: '3070',
url:
'https://www.coolmod.com/gigabyte-geforce-rtx-3070-eagle-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'gigabyte',
model: 'aorus master',
series: '3070',
url:
'https://www.coolmod.com/gigabyte-aorus-geforce-rtx-3070-master-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3070',
url:
'https://www.coolmod.com/pny-geforce-rtx-3070-xlr8-gaming-epic-x-rgb-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'zotac',
model: 'twin edge',
series: '3070',
url:
'https://www.coolmod.com/zotac-gaming-geforce-rtx-3070-twin-edge-8gb-gddr6-tarjeta-grafica-precio'
},
{
brand: 'kfa2',
model: 'sg oc',
series: '3070',
url:
'https://www.coolmod.com/kfa2-geforce-rtx-3070-sg-1-click-oc-8gb-gddr6-tarjeta-grafica-precio'
} }
], ],
name: 'coolmod' name: 'coolmod'
+38
View File
@@ -0,0 +1,38 @@
import {Store} from './store';
export const Corsair: Store = {
labels: {
inStock: {
container: '.add_to_cart_form',
text: ['add to cart']
},
maxPrice: {
container: '.product-price',
euroFormat: false
}
},
links: [
{
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url:
'https://www.corsair.com/us/en/Categories/Products/Power-Supply-Units/Power-Supply-Units-Advanced/SF-Series/p/CP-9020181-NA'
},
{
brand: 'corsair',
model: '750 platinum',
series: 'sf',
url:
'https://www.corsair.com/us/en/Categories/Products/Power-Supply-Units/Power-Supply-Units-Advanced/SF-Series/p/CP-9020186-NA'
},
{
brand: 'corsair',
model: '600 platinum',
series: 'sf',
url:
'https://www.corsair.com/us/en/Categories/Products/Power-Supply-Units/Power-Supply-Units-Advanced/SF-Series/p/CP-9020182-NA'
}
],
name: 'corsair'
};
+28
View File
@@ -23,6 +23,34 @@ export const Currys: Store = {
series: 'test:series', series: 'test:series',
url: url:
'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/graphics-cards/msi-geforce-rtx-2060-8-gb-super-ventus-gp-oc-graphics-card-10196803-pdt.html' 'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/graphics-cards/msi-geforce-rtx-2060-8-gb-super-ventus-gp-oc-graphics-card-10196803-pdt.html'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/processors/amd-ryzen-5-5600x-processor-10216691-pdt.html'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/processors/amd-ryzen-7-5800x-processor-10216690-pdt.html'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/processors/amd-ryzen-9-5900x-processor-10216689-pdt.html'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/processors/amd-ryzen-9-5950x-processor-10216688-pdt.html'
} }
], ],
linksBuilder: { linksBuilder: {
+28
View File
@@ -36,6 +36,34 @@ export const Ebuyer: Store = {
series: 'sonyps5de', series: 'sonyps5de',
url: url:
'https://www.ebuyer.com/1125332-sony-playstation-5-digital-edition-cfi-1015b' 'https://www.ebuyer.com/1125332-sony-playstation-5-digital-edition-cfi-1015b'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.ebuyer.com/1126988-amd-ryzen-5-5600x-am4-processor-100-100000065box'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.ebuyer.com/1126987-amd-ryzen-7-5800x-am4-processor-100-100000063wof'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.ebuyer.com/1126986-amd-ryzen-9-5900x-am4-processor-100-100000061wof'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.ebuyer.com/1126985-amd-ryzen-9-5950x-am4-processor-100-100000059wof'
} }
], ],
linksBuilder: { linksBuilder: {
+4 -7
View File
@@ -24,13 +24,10 @@ export function getProductLinksBuilder(options: LinksBuilderOptions) {
for (let i = 0; i < productElements.length; i++) { for (let i = 0; i < productElements.length; i++) {
const productElement = productElements.eq(i); const productElement = productElements.eq(i);
const titleElement = productElement.find(options.titleSelector).first(); const titleElement = productElement.find(options.titleSelector).first();
let title: string;
if (options.titleAttribute) { const title = options.titleAttribute
title = titleElement.attr()?.[options.titleAttribute]; ? titleElement.attr()?.[options.titleAttribute]
} else { : titleElement.text()?.replace(/\n/g, ' ').trim();
title = titleElement.text()?.replace(/\n/g, ' ').trim();
}
if (!title) { if (!title) {
continue; continue;
@@ -62,7 +59,7 @@ export function getProductLinksBuilder(options: LinksBuilderOptions) {
url url
}); });
} else { } else {
logger.error(`Failed to parse card: ${title}`); logger.error(`Failed to parse card: ${title}`, {url});
} }
} }
+10 -7
View File
@@ -73,7 +73,7 @@ export class NvidiaCart {
cartUrl = await this.addToCartAndGetLocationRedirect(productId); cartUrl = await this.addToCartAndGetLocationRedirect(productId);
break; break;
} catch (error) { } catch (error: unknown) {
logger.error( logger.error(
`✖ [nvidia] ${name} could not automatically add to cart, attempt ${ `✖ [nvidia] ${name} could not automatically add to cart, attempt ${
i + 1 i + 1
@@ -82,7 +82,7 @@ export class NvidiaCart {
); );
logger.debug(error); logger.debug(error);
lastError = error; lastError = error as Error;
} }
} }
/* eslint-enable no-await-in-loop */ /* eslint-enable no-await-in-loop */
@@ -96,11 +96,11 @@ export class NvidiaCart {
logger.info(cartUrl); logger.info(cartUrl);
await open(cartUrl); await open(cartUrl);
} catch (error) { } catch (error: unknown) {
logger.error( logger.error(
`✖ [nvidia] ${name} could not automatically add to cart, opening page` `✖ [nvidia] ${name} could not automatically add to cart, opening page`,
error
); );
logger.debug(error);
cartUrl = this.fallbackCartUrl; cartUrl = this.fallbackCartUrl;
@@ -142,8 +142,11 @@ export class NvidiaCart {
this.sessionToken = result.session_token; this.sessionToken = result.session_token;
logger.debug(` [nvidia] session_token=${result.session_token}`); logger.debug(` [nvidia] session_token=${result.session_token}`);
} catch (error) { } catch (error: unknown) {
const message: string = typeof error === 'object' ? error.message : error; const message: string =
typeof error === 'object'
? (error as Error).message
: (error as string);
logger.error(`✖ [nvidia] ${message}`); logger.error(`✖ [nvidia] ${message}`);
} }
} }
+18 -4
View File
@@ -1,6 +1,4 @@
import {config, defaultStoreData} from '../../config'; import {config, defaultStoreData} from '../../config';
import {AMD} from './amd';
import {AMDDe} from './amd-de';
import {Adorama} from './adorama'; import {Adorama} from './adorama';
import {Alternate} from './alternate'; import {Alternate} from './alternate';
import {AlternateNL} from './alternate-nl'; import {AlternateNL} from './alternate-nl';
@@ -8,8 +6,11 @@ import {Amazon} from './amazon';
import {AmazonCa} from './amazon-ca'; import {AmazonCa} from './amazon-ca';
import {AmazonDe} from './amazon-de'; import {AmazonDe} from './amazon-de';
import {AmazonEs} from './amazon-es'; import {AmazonEs} from './amazon-es';
import {AmazonFr} from './amazon-fr';
import {AmazonNl} from './amazon-nl'; import {AmazonNl} from './amazon-nl';
import {AmazonUk} from './amazon-uk'; import {AmazonUk} from './amazon-uk';
import {Amd} from './amd';
import {AmdDe} from './amd-de';
import {Aria} from './aria'; import {Aria} from './aria';
import {Arlt} from './arlt'; import {Arlt} from './arlt';
import {Asus} from './asus'; import {Asus} from './asus';
@@ -19,11 +20,13 @@ import {BAndH} from './bandh';
import {BestBuy} from './bestbuy'; import {BestBuy} from './bestbuy';
import {BestBuyCa} from './bestbuy-ca'; import {BestBuyCa} from './bestbuy-ca';
import {Box} from './box'; import {Box} from './box';
import {CanadaComputers} from './canadacomputers';
import {Caseking} from './caseking'; import {Caseking} from './caseking';
import {Ccl} from './ccl'; import {Ccl} from './ccl';
import {Computeruniverse} from './computeruniverse'; import {Computeruniverse} from './computeruniverse';
import {Coolblue} from './coolblue'; import {Coolblue} from './coolblue';
import {Coolmod} from './coolmod'; import {Coolmod} from './coolmod';
import {Corsair} from './corsair';
import {Currys} from './currys'; import {Currys} from './currys';
import {Cyberport} from './cyberport'; import {Cyberport} from './cyberport';
import {Ebuyer} from './ebuyer'; import {Ebuyer} from './ebuyer';
@@ -46,6 +49,7 @@ import {NvidiaApi} from './nvidia-api';
import {OfficeDepot} from './officedepot'; import {OfficeDepot} from './officedepot';
import {Overclockers} from './overclockers'; import {Overclockers} from './overclockers';
import {PCComponentes} from './pccomponentes'; import {PCComponentes} from './pccomponentes';
import {PlayStation} from './playstation';
import {Pny} from './pny'; import {Pny} from './pny';
import {ProshopDE} from './proshop-de'; import {ProshopDE} from './proshop-de';
import {ProshopDK} from './proshop-dk'; import {ProshopDK} from './proshop-dk';
@@ -53,8 +57,11 @@ import {Saturn} from './saturn';
import {Scan} from './scan'; import {Scan} from './scan';
import {Store} from './store'; import {Store} from './store';
import {Target} from './target'; import {Target} from './target';
import {TopAchat} from './topachat';
import {Very} from './very'; import {Very} from './very';
import {VsGamers} from './vsgamers';
import {Walmart} from './walmart'; import {Walmart} from './walmart';
import {Xbox} from './xbox';
import {Zotac} from './zotac'; import {Zotac} from './zotac';
import {logger} from '../../logger'; import {logger} from '../../logger';
@@ -66,10 +73,11 @@ export const storeList = new Map([
[AmazonCa.name, AmazonCa], [AmazonCa.name, AmazonCa],
[AmazonDe.name, AmazonDe], [AmazonDe.name, AmazonDe],
[AmazonEs.name, AmazonEs], [AmazonEs.name, AmazonEs],
[AmazonFr.name, AmazonFr],
[AmazonNl.name, AmazonNl], [AmazonNl.name, AmazonNl],
[AmazonUk.name, AmazonUk], [AmazonUk.name, AmazonUk],
[AMD.name, AMD], [Amd.name, Amd],
[AMDDe.name, AMDDe], [AmdDe.name, AmdDe],
[Aria.name, Aria], [Aria.name, Aria],
[Arlt.name, Arlt], [Arlt.name, Arlt],
[Asus.name, Asus], [Asus.name, Asus],
@@ -80,10 +88,12 @@ export const storeList = new Map([
[BestBuyCa.name, BestBuyCa], [BestBuyCa.name, BestBuyCa],
[Box.name, Box], [Box.name, Box],
[Caseking.name, Caseking], [Caseking.name, Caseking],
[CanadaComputers.name, CanadaComputers],
[Ccl.name, Ccl], [Ccl.name, Ccl],
[Computeruniverse.name, Computeruniverse], [Computeruniverse.name, Computeruniverse],
[Coolblue.name, Coolblue], [Coolblue.name, Coolblue],
[Coolmod.name, Coolmod], [Coolmod.name, Coolmod],
[Corsair.name, Corsair],
[Currys.name, Currys], [Currys.name, Currys],
[Cyberport.name, Cyberport], [Cyberport.name, Cyberport],
[Ebuyer.name, Ebuyer], [Ebuyer.name, Ebuyer],
@@ -106,14 +116,18 @@ export const storeList = new Map([
[OfficeDepot.name, OfficeDepot], [OfficeDepot.name, OfficeDepot],
[Overclockers.name, Overclockers], [Overclockers.name, Overclockers],
[PCComponentes.name, PCComponentes], [PCComponentes.name, PCComponentes],
[PlayStation.name, PlayStation],
[Pny.name, Pny], [Pny.name, Pny],
[ProshopDE.name, ProshopDE], [ProshopDE.name, ProshopDE],
[ProshopDK.name, ProshopDK], [ProshopDK.name, ProshopDK],
[Saturn.name, Saturn], [Saturn.name, Saturn],
[Scan.name, Scan], [Scan.name, Scan],
[Target.name, Target], [Target.name, Target],
[TopAchat.name, TopAchat],
[Very.name, Very], [Very.name, Very],
[VsGamers.name, VsGamers],
[Walmart.name, Walmart], [Walmart.name, Walmart],
[Xbox.name, Xbox],
[Zotac.name, Zotac] [Zotac.name, Zotac]
]); ]);
+4
View File
@@ -2,6 +2,10 @@ import {Store} from './store';
export const Mediamarkt: Store = { export const Mediamarkt: Store = {
labels: { labels: {
captcha: {
container: 'body',
text: ['Das ging uns leider zu schnell.']
},
maxPrice: { maxPrice: {
container: 'span[font-family="price"]', container: 'span[font-family="price"]',
euroFormat: false euroFormat: false
+77
View File
@@ -444,6 +444,83 @@ export const NeweggCa: Store = {
model: '5600x', model: '5600x',
series: 'ryzen5600', series: 'ryzen5600',
url: 'https://www.newegg.ca/amd-ryzen-5-5600x/p/N82E16819113666' url: 'https://www.newegg.ca/amd-ryzen-5-5600x/p/N82E16819113666'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.ca/msi-radeon-rx-6800-xt-rx-6800-xt-16g/p/N82E16814137607'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.ca/msi-radeon-rx-6800-rx-6800-16g/p/N82E16814137608'
},
{
brand: 'asus',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.ca/asus-radeon-rx-6800-xt-rx6800xt-16g/p/N82E16814126472'
},
{
brand: 'asus',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.ca/asus-radeon-rx-6800-rx6800-16g/p/N82E16814126473'
},
{
brand: 'asrock',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.ca/asrock-radeon-rx-6800-xt-rx-6800-xt-16g/p/N82E16814930045'
},
{
brand: 'asrock',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.ca/asrock-radeon-rx-6800-rx-6800-16g/p/N82E16814930046'
},
{
brand: 'gigabyte',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.ca/gigabyte-radeon-rx-6800-xt-gv-r68xt-16gc-b/p/N82E16814932373'
},
{
brand: 'gigabyte',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.ca/gigabyte-radeon-rx-6800-gv-r68-16gc-b/p/N82E16814932374'
},
{
brand: 'sapphire',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.ca/sapphire-radeon-rx-6800-xt-21304-01-20g/p/N82E16814202388'
},
{
brand: 'sapphire',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.ca/sapphire-radeon-rx-6800-21305-01-20g/p/N82E16814202389'
},
{
brand: 'gigabyte',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/gigabyte-radeon-rx-6800-xt-gv-r68xt-16gc-b/p/N82E16814932373'
} }
], ],
name: 'newegg-ca', name: 'newegg-ca',
+300 -190
View File
@@ -25,6 +25,226 @@ export const Newegg: Store = {
url: url:
'https://www.newegg.com/zotac-geforce-rtx-2060-zt-t20600k-10m/p/N82E16814500495' 'https://www.newegg.com/zotac-geforce-rtx-2060-zt-t20600k-10m/p/N82E16814500495'
}, },
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137601',
itemNumber: '14-137-601',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-ventus-3x-oc/p/N82E16814137601'
},
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137602',
itemNumber: '14-137-602',
model: 'ventus 2x oc',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-ventus-2x-oc/p/N82E16814137602'
},
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137603',
itemNumber: '14-137-603',
model: 'gaming x trio',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-gaming-x-trio/p/N82E16814137603'
},
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137605',
itemNumber: '14-137-605',
model: 'ventus 2x',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-gaming-x-trio/p/N82E16814137605'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932360',
itemNumber: '14-932-360',
model: 'vision oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070vision-oc-8gd/p/N82E16814932360'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126459',
itemNumber: '14-126-459',
model: 'dual oc',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-dual-rtx3070-o8g/p/N82E16814126459'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126458',
itemNumber: '14-126-458',
model: 'strix',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-rog-strix-rtx3070-o8g-gaming/p/N82E16814126458'
},
{
brand: 'zotac',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814500501',
itemNumber: '14-500-501',
model: 'twin edge',
series: '3070',
url:
'https://www.newegg.com/zotac-geforce-rtx-3070-zt-a30700e-10p/p/N82E16814500501'
},
{
brand: 'zotac',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814500505',
itemNumber: '14-500-505',
model: 'twin edge oc',
series: '3070',
url:
'https://www.newegg.com/zotac-geforce-rtx-3070-zt-a30700h-10p/p/N82E16814500505'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932342',
itemNumber: '14-932-342',
model: 'gaming oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070gaming-oc-8gd/p/N82E16814932342'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487532',
itemNumber: '14-487-532',
model: 'ftw3 ultra',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3767-kr/p/N82E16814487532'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487530',
itemNumber: '14-487-530',
model: 'xc3 ultra',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3755-kr/p/N82E16814487530'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487528',
itemNumber: '14-487-528',
model: 'xc3 black',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3751-kr/p/N82E16814487528'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932343',
itemNumber: '14-932-343',
model: 'eagle oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070eagle-oc-8gd/p/N82E16814932343'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932344',
itemNumber: '14-932-344',
model: 'eagle',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070eagle-8gd/p/N82E16814932344'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487529',
itemNumber: '14-487-529',
model: 'xc3',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3753-kr/p/N82E16814487529'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126460',
itemNumber: '14-126-460',
model: 'dual',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-dual-rtx3070-8g/p/N82E16814126460'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126466',
itemNumber: '14-126-466',
model: 'gaming',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-ko-rtx3070-o8g-gamin/p/N82E16814126466'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932359',
itemNumber: '14-932-359',
model: 'aorus master',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070aorus-m-8gd/p/N82E16814932359'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487531',
itemNumber: '14-487-531',
model: 'ftw3',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3765-kr/p/N82E16814487531'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126461',
itemNumber: '14-126-461',
model: 'tuf oc',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-tuf-rtx3070-o8g-gaming/p/N82E16814126461'
},
{
brand: 'pny',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814133811',
itemNumber: '14-133-811',
model: 'gaming',
series: '3070',
url:
'https://www.newegg.com/pny-geforce-rtx-3070-vcg30708tfxppb/p/N82E16814133811'
},
{ {
brand: 'asus', brand: 'asus',
cartUrl: cartUrl:
@@ -185,6 +405,16 @@ export const Newegg: Store = {
url: url:
'https://www.newegg.com/pny-geforce-rtx-3080-vcg308010tfxppb/p/N82E16814133809' 'https://www.newegg.com/pny-geforce-rtx-3080-vcg308010tfxppb/p/N82E16814133809'
}, },
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932337',
itemNumber: '14-932-337',
model: 'vision oc',
series: '3080',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3080-gv-n3080vision-oc-10gd/p/N82E16814932337'
},
{ {
brand: 'asus', brand: 'asus',
cartUrl: cartUrl:
@@ -315,196 +545,6 @@ export const Newegg: Store = {
url: url:
'https://www.newegg.com/gigabyte-geforce-rtx-3090-gv-n3090eagle-oc-24gd/p/N82E16814932328' 'https://www.newegg.com/gigabyte-geforce-rtx-3090-gv-n3090eagle-oc-24gd/p/N82E16814932328'
}, },
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137601',
itemNumber: '14-137-601',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-ventus-3x-oc/p/N82E16814137601'
},
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137602',
itemNumber: '14-137-602',
model: 'ventus 2x oc',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-ventus-2x-oc/p/N82E16814137602'
},
{
brand: 'msi',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814137603',
itemNumber: '14-137-603',
model: 'gaming x trio',
series: '3070',
url:
'https://www.newegg.com/msi-geforce-rtx-3070-rtx-3070-gaming-x-trio/p/N82E16814137603'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932360',
itemNumber: '14-932-360',
model: 'vision oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070vision-oc-8gd/p/N82E16814932360'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126459',
itemNumber: '14-126-459',
model: 'dual oc',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-dual-rtx3070-o8g/p/N82E16814126459'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126458',
itemNumber: '14-126-458',
model: 'strix',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-rog-strix-rtx3070-o8g-gaming/p/N82E16814126458'
},
{
brand: 'zotac',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814500501',
itemNumber: '14-500-501',
model: 'twin edge',
series: '3070',
url:
'https://www.newegg.com/zotac-geforce-rtx-3070-zt-a30700e-10p/p/N82E16814500501'
},
{
brand: 'zotac',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814500505',
itemNumber: '14-500-505',
model: 'twin edge oc',
series: '3070',
url:
'https://www.newegg.com/zotac-geforce-rtx-3070-zt-a30700h-10p/p/N82E16814500505'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932342',
itemNumber: '14-932-342',
model: 'gaming oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070gaming-oc-8gd/p/N82E16814932342'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487532',
itemNumber: '14-487-532',
model: 'ftw3 ultra',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3767-kr/p/N82E16814487532'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487530',
itemNumber: '14-487-530',
model: 'xc3 ultra',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3755-kr/p/N82E16814487530'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487528',
itemNumber: '14-487-528',
model: 'xc3 black',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3751-kr/p/N82E16814487528'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932343',
itemNumber: '14-932-343',
model: 'eagle oc',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070eagle-oc-8gd/p/N82E16814932343'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932344',
itemNumber: '14-932-344',
model: 'eagle',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070eagle-8gd/p/N82E16814932344'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487529',
itemNumber: '14-487-529',
model: 'xc3',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3753-kr/p/N82E16814487529'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126460',
itemNumber: '14-126-460',
model: 'dual',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-dual-rtx3070-8g/p/N82E16814126460'
},
{
brand: 'gigabyte',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814932359',
itemNumber: '14-932-359',
model: 'aorus master',
series: '3070',
url:
'https://www.newegg.com/gigabyte-geforce-rtx-3070-gv-n3070aorus-m-8gd/p/N82E16814932359'
},
{
brand: 'evga',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814487531',
itemNumber: '14-487-531',
model: 'ftw3',
series: '3070',
url:
'https://www.newegg.com/evga-geforce-rtx-3070-08g-p5-3765-kr/p/N82E16814487531'
},
{
brand: 'asus',
cartUrl:
'https://secure.newegg.com/Shopping/AddtoCart.aspx?Submit=ADD&ItemList=N82E16814126461',
itemNumber: '14-126-461',
model: 'tuf oc',
series: '3070',
url:
'https://www.newegg.com/asus-geforce-rtx-3070-tuf-rtx3070-o8g-gaming/p/N82E16814126461'
},
{ {
brand: 'amd', brand: 'amd',
cartUrl: cartUrl:
@@ -552,6 +592,76 @@ export const Newegg: Store = {
model: 'xbox series s', model: 'xbox series s',
series: 'xboxss', series: 'xboxss',
url: 'https://www.newegg.com/p/N82E16868105274' url: 'https://www.newegg.com/p/N82E16868105274'
},
{
brand: 'gigabyte',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/gigabyte-radeon-rx-6800-xt-gv-r68xt-16gc-b/p/N82E16814932373'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/msi-radeon-rx-6800-xt-rx-6800-xt-16g/p/N82E16814137607'
},
{
brand: 'sapphire',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/sapphire-radeon-rx-6800-xt-21304-01-20g/p/N82E16814202388'
},
{
brand: 'asrock',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/asrock-radeon-rx-6800-xt-rx-6800-xt-16g/p/N82E16814930045'
},
{
brand: 'asus',
model: 'amd reference',
series: 'rx6800xt',
url:
'https://www.newegg.com/asus-radeon-rx-6800-xt-rx6800xt-16g/p/N82E16814126472'
},
{
brand: 'asus',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.com/asus-radeon-rx-6800-rx6800-16g/p/N82E16814126473'
},
{
brand: 'asrock',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.com/asrock-radeon-rx-6800-rx-6800-16g/p/N82E16814930046'
},
{
brand: 'gigabyte',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.com/gigabyte-radeon-rx-6800-gv-r68-16gc-b/p/N82E16814932374'
},
{
brand: 'sapphire',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.com/sapphire-radeon-rx-6800-21305-01-20g/p/N82E16814202389'
},
{
brand: 'msi',
model: 'amd reference',
series: 'rx6800',
url:
'https://www.newegg.com/msi-radeon-rx-6800-rx-6800-16g/p/N82E16814137608'
} }
], ],
name: 'newegg', name: 'newegg',
+28
View File
@@ -28,6 +28,34 @@ export const Novatech: Store = {
series: 'test:series', series: 'test:series',
url: url:
'https://www.novatech.co.uk/products/gigabyte-geforce-rtx-2060-oc-v2-6g-graphics-card/gv-n2060oc-6gdv2.html' 'https://www.novatech.co.uk/products/gigabyte-geforce-rtx-2060-oc-v2-6g-graphics-card/gv-n2060oc-6gdv2.html'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.novatech.co.uk/products/amd-ryzen-5-5600x-six-core-processorcpu-with-stealth-cooler-/100-000000065box.html'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.novatech.co.uk/products/amd-ryzen-7-5800x-eight-core-processorcpu-without-cooler-/100-000000063wof.html'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.novatech.co.uk/products/amd-ryzen-9-5900x-twelve-core-processorcpu-without-cooler-/100-100000061wof.html'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.novatech.co.uk/products/amd-ryzen-9-5950x-sixteen-core-processorcpu-without-cooler-/100-100000059wof.html'
} }
], ],
linksBuilder: { linksBuilder: {
+28
View File
@@ -23,6 +23,34 @@ export const Overclockers: Store = {
series: 'test:series', series: 'test:series',
url: url:
'https://www.overclockers.co.uk/gigabyte-geforce-rtx-2060-oc-rev2-6144mb-gddr6-pci-express-graphics-card-gx-1bj-gi.html' 'https://www.overclockers.co.uk/gigabyte-geforce-rtx-2060-oc-rev2-6144mb-gddr6-pci-express-graphics-card-gx-1bj-gi.html'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.overclockers.co.uk/amd-ryzen-5-5600x-six-core-4.6ghz-socket-am4-processor-retail-cp-3cc-am.html'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.overclockers.co.uk/amd-ryzen-7-5800x-eight-core-4.7ghz-socket-am4-processor-retail-cp-3cb-am.html'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.overclockers.co.uk/amd-ryzen-9-5900x-twelve-core-4.8ghz-socket-am4-processor-retail-cp-3ca-am.html'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.overclockers.co.uk/amd-ryzen-9-5950x-sixteen-core-4.9ghz-socket-am4-processor-retail-cp-3c9-am.html'
} }
], ],
linksBuilder: { linksBuilder: {
+149
View File
@@ -161,6 +161,155 @@ export const PCComponentes: Store = {
series: '3080', series: '3080',
url: url:
'https://www.pccomponentes.com/pny-geforce-rtx-3080-epic-x-rgb-triple-fan-xlr8-gaming-edition-10gb-gddr6x' 'https://www.pccomponentes.com/pny-geforce-rtx-3080-epic-x-rgb-triple-fan-xlr8-gaming-edition-10gb-gddr6x'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.pccomponentes.com/amd-ryzen-5-5600x-37ghz'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.pccomponentes.com/amd-ryzen-7-5800x-38ghz'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url: 'https://www.pccomponentes.com/amd-ryzen-9-5900x-37-ghz'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url: 'https://www.pccomponentes.com/amd-ryzen-9-5950x-34-ghz'
},
{
brand: 'zotac',
model: 'twin edge',
series: '3070',
url:
'https://www.pccomponentes.com/zotac-gaming-geforce-rtx-3070-twin-edge-oc-8gb-gddr6'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3070',
url:
'https://www.pccomponentes.com/msi-geforce-rtx-3070-gaming-x-trio-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3070',
url:
'https://www.pccomponentes.com/gigabyte-geforce-rtx-3070-gaming-oc-8gb-gddr6'
},
{
brand: 'msi',
model: 'ventus 2x',
series: '3070',
url:
'https://www.pccomponentes.com/msi-geforce-rtx-3070-ventus-2x-oc-8gb-gddr6'
},
{
brand: 'asus',
model: 'gaming oc',
series: '3070',
url:
'https://www.pccomponentes.com/asus-tuf-gaming-geforce-rtx-3070-oc-8gb-gddr6'
},
{
brand: 'evga',
model: 'xc3',
series: '3070',
url:
'https://www.pccomponentes.com/evga-geforce-rtx-3070-xc3-black-gaming-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3070',
url:
'https://www.pccomponentes.com/gigabyte-geforce-rtx-3070-eagle-oc-8gb-gddr6'
},
{
brand: 'asus',
model: 'dual oc',
series: '3070',
url:
'https://www.pccomponentes.com/asus-geforce-rtx-3070-dual-oc-edition-8gb-gddr6'
},
{
brand: 'asus',
model: 'dual',
series: '3070',
url: 'https://www.pccomponentes.com/asus-geforce-rtx-3070-dual-8gb-gddr6'
},
{
brand: 'asus',
model: 'strix oc',
series: '3070',
url:
'https://www.pccomponentes.com/asus-rog-strix-gaming-geforce-rtx-3070-oc-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'vision oc',
series: '3070',
url:
'https://www.pccomponentes.com/gigabyte-geforce-rtx-3070-vision-oc-8gb-gddr6'
},
{
brand: 'pny',
model: 'dual fan',
series: '3070',
url:
'https://www.pccomponentes.com/pny-geforce-rtx-3070-dual-fan-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'aorus master',
series: '3070',
url:
'https://www.pccomponentes.com/gigabyte-aorus-geforce-rtx-3070-master-8gb-gddr6'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3070',
url:
'https://www.pccomponentes.com/pny-geforce-rtx-3070-xlr8-gaming-epic-x-rgb-8gb'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3070',
url:
'https://www.pccomponentes.com/evga-geforce-rtx-3070-ftw3-ultra-gaming-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'eagle',
series: '3070',
url:
'https://www.pccomponentes.com/gigabyte-geforce-rtx-3070-eagle-8gb-gddr6'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.pccomponentes.com/msi-geforce-rtx-3070-ventus-3x-oc-8gb-gddr6'
},
{
brand: 'asus',
model: 'strix',
series: '3070',
url:
'https://www.pccomponentes.com/asus-rog-strix-gaming-geforce-rtx-3070-8gb-gddr6'
} }
], ],
name: 'pccomponentes' name: 'pccomponentes'
+57
View File
@@ -0,0 +1,57 @@
import {Store} from './store';
import fetch from 'node-fetch';
export const PlayStation: Store = {
labels: {
inStock: {
container: '.productHero-info .add-to-cart:not(.hide)',
text: ['Add']
},
outOfStock: {
container: '.productHero-info .out-stock-wrpr:not(.hide)',
text: ['Out of Stock']
}
},
links: [
{
brand: 'test:brand',
itemNumber: '3005715',
model: 'test:model',
series: 'test:series',
url:
'https://direct.playstation.com/en-us/accessories/accessory/dualsense-wireless-controller.3005715'
},
{
brand: 'sony',
itemNumber: '3005816',
model: 'ps5 console',
series: 'sonyps5c',
url:
'https://direct.playstation.com/en-us/consoles/console/playstation5-console.3005816'
},
{
brand: 'sony',
itemNumber: '3005817',
model: 'ps5 digital',
series: 'sonyps5de',
url:
'https://direct.playstation.com/en-us/consoles/console/playstation5-digital-edition-console.3005817'
}
],
name: 'playstation',
realTimeInventoryLookup: async (itemNumber: string) => {
const request_url =
'https://api.direct.playstation.com/commercewebservices/ps-direct-us/products/productList?fields=BASIC&productCodes=' +
itemNumber;
const response = await fetch(request_url);
const response_json = await response.json();
if (
response_json.products[0].stock.stockLevelStatus !== 'outOfStock' &&
response_json.products[0].maxOrderQuantity >= 0
) {
return true;
}
return false;
}
};
+4
View File
@@ -2,6 +2,10 @@ import {Store} from './store';
export const Saturn: Store = { export const Saturn: Store = {
labels: { labels: {
captcha: {
container: 'body',
text: ['Das ging uns leider zu schnell.']
},
maxPrice: { maxPrice: {
container: 'span[font-family="price"]', container: 'span[font-family="price"]',
euroFormat: false // Note: Saturn uses non-euroFromat as price seperator euroFormat: false // Note: Saturn uses non-euroFromat as price seperator
+28
View File
@@ -42,6 +42,34 @@ export const Scan: Store = {
model: 'ps5 digital', model: 'ps5 digital',
series: 'sonyps5de', series: 'sonyps5de',
url: 'https://www.scan.co.uk/products/playstation-5-digital-edition' url: 'https://www.scan.co.uk/products/playstation-5-digital-edition'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url:
'https://www.scan.co.uk/products/amd-ryzen-5-5600x-am4-zen-3-6-core-12-thread-37ghz-46ghz-turbo-35mb-cache-pcie-40-65w-cpu'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url:
'https://www.scan.co.uk/products/amd-ryzen-7-5800x-am4-zen-3-8-core-16-thread-38ghz-47ghz-turbo-36mb-cache-pcie-40-105w-cpu'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url:
'https://www.scan.co.uk/products/amd-ryzen-9-5900x-am4-zen-3-12-core-24-thread-37ghz-48ghz-turbo-70mb-cache-pcie-40-105w-cpu'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url:
'https://www.scan.co.uk/products/amd-ryzen-9-5950x-am4-zen-3-16-core-32-thread-34ghz-49ghz-turbo-72mb-cache-pcie-40-105w-cpu'
} }
], ],
linksBuilder: { linksBuilder: {
+45 -29
View File
@@ -13,7 +13,9 @@ export type Pricing = {
export type Brand = export type Brand =
| 'test:brand' | 'test:brand'
| 'amd' | 'amd'
| 'asrock'
| 'asus' | 'asus'
| 'corsair'
| 'evga' | 'evga'
| 'gainward' | 'gainward'
| 'gigabyte' | 'gigabyte'
@@ -24,7 +26,10 @@ export type Brand =
| 'nvidia' | 'nvidia'
| 'palit' | 'palit'
| 'pny' | 'pny'
| 'sapphire'
| 'sony' | 'sony'
| 'xfx'
| 'powercolor'
| 'zotac'; | 'zotac';
export type Series = export type Series =
@@ -32,12 +37,16 @@ export type Series =
| '3070' | '3070'
| '3080' | '3080'
| '3090' | '3090'
| 'ryzen5950' | 'rx6800'
| 'ryzen5900' | 'rx6800xt'
| 'ryzen5800' | 'rx6900xt'
| 'ryzen5600' | 'ryzen5600'
| 'ryzen5800'
| 'ryzen5900'
| 'ryzen5950'
| 'sonyps5c' | 'sonyps5c'
| 'sonyps5de' | 'sonyps5de'
| 'sf'
| 'xboxsx' | 'xboxsx'
| 'xboxss'; | 'xboxss';
@@ -47,59 +56,66 @@ export type Model =
| '5800x' | '5800x'
| '5900x' | '5900x'
| '5950x' | '5950x'
| '600 platinum'
| '750 platinum'
| 'amd reference'
| 'amp extreme holo' | 'amp extreme holo'
| 'amp holo' | 'amp holo'
| 'aorus'
| 'aorus master' | 'aorus master'
| 'aorus xtreme' | 'aorus xtreme'
| 'dual' | 'aorus'
| 'dual fan' | 'dual fan'
| 'dual oc' | 'dual oc'
| 'founders edition' | 'dual'
| 'ftw3'
| 'ftw3 ultra'
| 'eagle'
| 'eagle oc' | 'eagle oc'
| 'gaming' | 'eagle'
| 'founders edition'
| 'ftw3 ultra'
| 'ftw3'
| 'gamerock oc'
| 'gaming oc' | 'gaming oc'
| 'gaming pro oc'
| 'gaming pro'
| 'gaming x trio'
| 'gaming x3' | 'gaming x3'
| 'gaming'
| 'ichill x2' | 'ichill x2'
| 'ichill x3' | 'ichill x3'
| 'ichill x4' | 'ichill x4'
| 'gamerock oc' | 'nitro oc se'
| 'gaming x trio' | 'nitro oc'
| 'gaming pro' | 'phantom gs'
| 'gaming pro oc' | 'phoenix gs oc'
| 'phoenix gs'
| 'phoenix'
| 'ps5 console' | 'ps5 console'
| 'ps5 digital' | 'ps5 digital'
| 'phantom gs'
| 'phoenix'
| 'phoenix gs'
| 'phoenix gs oc'
| 'sg oc' | 'sg oc'
| 'strix' | 'sg'
| 'strix lc'
| 'strix oc' | 'strix oc'
| 'trinity' | 'strix'
| 'trinity oc' | 'trinity oc'
| 'tuf' | 'trinity'
| 'tuf oc' | 'tuf oc'
| 'tuf'
| 'turbo' | 'turbo'
| 'twin edge'
| 'twin edge oc' | 'twin edge oc'
| 'twin x2' | 'twin edge'
| 'twin x2 oc' | 'twin x2 oc'
| 'twin x2'
| 'uprising' | 'uprising'
| 'ventus 2x'
| 'ventus 2x oc' | 'ventus 2x oc'
| 'ventus 3x' | 'ventus 2x'
| 'ventus 3x oc' | 'ventus 3x oc'
| 'vision' | 'ventus 3x'
| 'vision oc' | 'vision oc'
| 'xc3' | 'vision'
| 'xc3 black'
| 'xc3 ultra'
| 'xbox series s' | 'xbox series s'
| 'xbox series x' | 'xbox series x'
| 'xc3 black'
| 'xc3 ultra'
| 'xc3'
| 'xlr8 revel' | 'xlr8 revel'
| 'xlr8 uprising'; | 'xlr8 uprising';
+293
View File
@@ -0,0 +1,293 @@
import {Store} from './store';
export const TopAchat: Store = {
labels: {
inStock: {
container: '.cart.button',
text: ['']
}
},
links: [
{
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in11019393.html'
},
{
brand: 'zotac',
model: 'trinity',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005183.html'
},
{
brand: 'zotac',
model: 'trinity oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005509.html'
},
{
brand: 'zotac',
model: 'trinity',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005184.html'
},
{
brand: 'asus',
model: 'strix oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005320.html'
},
{
brand: 'asus',
model: 'tuf',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005070.html'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005289.html'
},
{
brand: 'asus',
model: 'strix oc',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005319.html'
},
{
brand: 'asus',
model: 'tuf',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005071.html'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005199.html'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005262.html'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005263.html'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005223.html'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005222.html'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005225.html'
},
{
brand: 'pny',
model: 'xlr8 revel',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005224.html'
},
{
brand: 'evga',
model: 'ftw3',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005291.html'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005292.html'
},
{
brand: 'evga',
model: 'xc3 black',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005289.html'
},
{
brand: 'evga',
model: 'xc3',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005290.html'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005334.html'
},
{
brand: 'evga',
model: 'ftw3',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005296.html'
},
{
brand: 'evga',
model: 'ftw3 ultra',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005297.html'
},
{
brand: 'evga',
model: 'xc3',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005293.html'
},
{
brand: 'evga',
model: 'xc3',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005294.html'
},
{
brand: 'evga',
model: 'xc3 ultra',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005295.html'
},
{
brand: 'gainward',
model: 'phoenix',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005267.html'
},
{
brand: 'gainward',
model: 'phoenix gs',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005268.html'
},
{
brand: 'gainward',
model: 'phoenix',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005269.html'
},
{
brand: 'gainward',
model: 'phoenix gs',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005270.html'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005228.html'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005227.html'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005226.html'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005229.html'
},
{
brand: 'palit',
model: 'gaming pro',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005271.html'
},
{
brand: 'palit',
model: 'gaming pro oc',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005272.html'
},
{
brand: 'palit',
model: 'gaming pro',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005273.html'
},
{
brand: 'palit',
model: 'gaming pro oc',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005266.html'
},
{
brand: 'kfa2',
model: 'sg',
series: '3080',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005256.html'
},
{
brand: 'kfa2',
model: 'sg',
series: '3090',
url:
'https://www.topachat.com/pages/detail2_cat_est_micro_puis_rubrique_est_wgfx_pcie_puis_ref_est_in20005257.html'
}
],
name: 'topachat'
};
+1 -1
View File
@@ -60,7 +60,7 @@ export const Very: Store = {
url url
}); });
} else { } else {
logger.error(`Failed to parse card: ${title}`); logger.error(`Failed to parse card: ${title}`, {url});
} }
} }
+258
View File
@@ -0,0 +1,258 @@
import {Store} from './store';
export const VsGamers: Store = {
labels: {
inStock: {
container: '#vs-product-sheet-dashboard',
text: ['COMPRAR', 'RESERVAR']
},
outOfStock: {
container: '#vs-product-sheet-dashboard',
text: ['Avísame']
}
},
links: [
{
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url:
'https://www.vsgamers.es/product/silla-gaming-msi-mag-ch120-negro-rojo'
},
{
brand: 'amd',
model: '5600x',
series: 'ryzen5600',
url: 'https://www.vsgamers.es/product/procesador-amd-ryzen-5-5600x-37-ghz'
},
{
brand: 'amd',
model: '5800x',
series: 'ryzen5800',
url: 'https://www.vsgamers.es/product/procesador-amd-ryzen-7-5800x-38-ghz'
},
{
brand: 'amd',
model: '5900x',
series: 'ryzen5900',
url: 'https://www.vsgamers.es/product/procesador-amd-ryzen-9-5900x-37-ghz'
},
{
brand: 'amd',
model: '5950x',
series: 'ryzen5950',
url: 'https://www.vsgamers.es/product/procesador-amd-ryzen-9-5950x-34-ghz'
},
{
brand: 'zotac',
model: 'twin edge',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-zotac-gaming-geforce-rtx-3070-twin-edge-oc-8-gb-gddr6'
},
{
brand: 'asus',
model: 'tuf',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-tuf-gaming-geforce-rtx-3070-oc-8gb-gddr6'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3070-gaming-oc-8-gb-gddr6'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3070-gaming-oc-8-gb-gddr6'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtxr-3070-gaming-x-trio'
},
{
brand: 'msi',
model: 'ventus 2x oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtxr-3070-ventus-2x-oc-8gb-gddr6'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtxr-3070-ventus-3x-oc-8gb-gddr6'
},
{
brand: 'asus',
model: 'dual',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-dual-geforce-rtx-3070-gaming-8g-8-gb-gddr6'
},
{
brand: 'asus',
model: 'dual oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-dual-geforce-rtx-3070-gaming-oc-8g-8-gb-gddr6'
},
{
brand: 'asus',
model: 'strix oc',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix-geforce-rtx-3070-gaming-oc-8g-8-gb-gddr6x'
},
{
brand: 'asus',
model: 'strix',
series: '3070',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix-geforce-rtx-3070-gaming-8g-8-gb-gddr6x'
},
{
brand: 'zotac',
model: 'amp holo',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-zotac-gaming-nvidia-geforce-rtxr-3080-10-gb-gddr6x'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtx-3080-ventus-3x-10g-oc-10-gb-gddr6x'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtx-3080-gaming-x-trio-10g-10-gb-gddr6x'
},
{
brand: 'asus',
model: 'tuf',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-tuf-gaming-geforce-rtx-3080-10g-10-gb-gddr6x'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-tuf-gaming-geforce-rtx-3080-oc-10g-10-gb-gddr6x'
},
{
brand: 'asus',
model: 'strix',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix-geforce-rtx-3080-gaming-10g-10-gb-gddr6x'
},
{
brand: 'asus',
model: 'strix oc',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix-geforce-rtx-3080-gaming-oc-10g-10-gb-gddr6x'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3080-eagle-oc-10g-10-gb-gddr6x'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3080-gaming-oc-10g-10-gb-gddr6x'
},
{
brand: 'zotac',
model: 'trinity',
series: '3080',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-zotac-geforce-rtx-3080-trinity-10-gb-gddr6x'
},
{
brand: 'zotac',
model: 'trinity',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-zotac-geforce-rtx-3090-trinity-24-gb-gddr6x'
},
{
brand: 'asus',
model: 'tuf',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-tuf-gaming-geforce-rtx-3090-24g-24-gb-gddr6x'
},
{
brand: 'asus',
model: 'tuf oc',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-tuf-gaming-geforce-rtx-3090-oc-24g-24-gb-gddr6x'
},
{
brand: 'asus',
model: 'strix',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix-geforce-rtx-3090-gaming-24g-24-gb-gddr6x'
},
{
brand: 'msi',
model: 'ventus 3x oc',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtx-3090-ventus-3x-24g-oc-24-gb-gddr6x'
},
{
brand: 'msi',
model: 'gaming x trio',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-msi-geforce-rtx-3090-gaming-x-trio-24g-24-gb-gddr6x'
},
{
brand: 'asus',
model: 'strix oc',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-asus-rog-strix--geforce-rtxr-3090-gaming-oc-24gb-gddr6x'
},
{
brand: 'gigabyte',
model: 'eagle oc',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3090-eagle-oc-24g-24-gb-gddr6x'
},
{
brand: 'gigabyte',
model: 'gaming oc',
series: '3090',
url:
'https://www.vsgamers.es/product/tarjeta-grafica-gigabyte-geforce-rtx-3090-gaming-oc-24g-24-gb-gddr6x'
}
],
name: 'vsgamers'
};
+20
View File
@@ -0,0 +1,20 @@
import {Store} from './store';
export const Xbox: Store = {
labels: {
outOfStock: {
container:
'.src-pages-BundleBuilder-components-BundleBuilderHeader-__BundleBuilderHeader-module___checkoutButton',
text: ['out of stock']
}
},
links: [
{
brand: 'microsoft',
model: 'xbox series x',
series: 'xboxsx',
url: 'https://www.xbox.com/en-us/configure/8WJ714N3RBTL'
}
],
name: 'xbox'
};
+1 -3
View File
@@ -4,9 +4,7 @@ declare module 'play-sound' {
player?: string; player?: string;
} }
export interface PlayOptions { export type PlayOptions = Record<string, any>;
[key: string]: any;
}
export interface PlaySound { export interface PlaySound {
player: string; player: string;
+6 -6
View File
@@ -1,5 +1,5 @@
declare module '@jef/pushbullet' { declare module '@jef/pushbullet' {
export type DeviceParams = string | number | Record<string, any>; export type DeviceParameters = string | number | Record<string, any>;
export type PushBulletCallback = export type PushBulletCallback =
| ((error: Error) => void) | ((error: Error) => void)
@@ -38,26 +38,26 @@ declare module '@jef/pushbullet' {
); );
deleteDevice(deviceIden: string, callback: PushBulletCallback); deleteDevice(deviceIden: string, callback: PushBulletCallback);
note( note(
deviceParams: DeviceParams, deviceParameters: DeviceParameters,
title: string, title: string,
body: string, body: string,
callback: PushBulletCallback callback: PushBulletCallback
); );
link( link(
deviceParams: DeviceParams, deviceParameters: DeviceParameters,
name: string, name: string,
url: string, url: string,
body: string, body: string,
callback: PushBulletCallback callback: PushBulletCallback
); );
file( file(
deviceParams: DeviceParams, deviceParameters: DeviceParameters,
filePath: string, filePath: string,
message: string, message: string,
callback: PushBulletCallback callback: PushBulletCallback
); );
dismissPush(pushIden: DeviceParams, callback: PushBulletCallback); dismissPush(pushIden: DeviceParameters, callback: PushBulletCallback);
deletePush(pushIden: DeviceParams, callback: PushBulletCallback); deletePush(pushIden: DeviceParameters, callback: PushBulletCallback);
deleteAllPushes(callback: PushBulletCallback); deleteAllPushes(callback: PushBulletCallback);
history(options: HistoryOptions, callback: PushBulletCallback); history(options: HistoryOptions, callback: PushBulletCallback);
history(callback: PushBulletCallback); history(callback: PushBulletCallback);
+1 -1
View File
@@ -62,7 +62,7 @@ export async function usingPage<T>(
} finally { } finally {
try { try {
await closePage(page); await closePage(page);
} catch (error) { } catch (error: unknown) {
logger.error(error); logger.error(error);
} }
} }
+4 -4
View File
@@ -13,7 +13,7 @@ import {join, normalize} from 'path';
const approot = join(__dirname, '../../'); const approot = join(__dirname, '../../');
const webroot = join(approot, './web'); const webroot = join(approot, './web');
const contentTypeMap: {[key: string]: string} = { const contentTypeMap: Record<string, string> = {
css: 'text/css', css: 'text/css',
htm: 'text/html', htm: 'text/html',
html: 'text/html', html: 'text/html',
@@ -49,8 +49,8 @@ function sendFile(
stream.on('end', () => response.end()); stream.on('end', () => response.end());
stream.pipe(response); stream.pipe(response);
} catch (error) { } catch (error: unknown) {
sendError(response, error); sendError(response, (error as Error).message);
} }
} }
@@ -182,6 +182,6 @@ export async function stopAPIServer() {
return; return;
} }
resolve(); resolve(null);
}); });
} }
+1 -1
View File
@@ -1 +1 @@
3.0.0 3.1.0