From ed92298b798ad796387be006b2389b3f9bd87e49 Mon Sep 17 00:00:00 2001 From: Tony James Date: Wed, 22 Apr 2026 13:31:46 +0000 Subject: [PATCH] Release v0.1.2: site-backup persistence + PNG toolbar icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mirror dismissals to window.localStorage on autotrader.co.uk ("atm:..." key). If browser.storage.local comes up empty after a quirky reinstall, the content script rehydrates from the site backup on the next page load. - Replace the SVG toolbar icon with PNG renders (16/32/48/96/128) — some Firefox installs don't render extension SVG icons reliably in the toolbar / extensions flyout. - Sharp added as a devDependency to rebuild icons from icon.svg. Co-Authored-By: Claude Opus 4.7 (1M context) --- content.js | 52 ++- dist/autotrader-marker-0.1.2.xpi | Bin 0 -> 24233 bytes dist/updates.json | 4 + icons/icon-128.png | Bin 0 -> 2364 bytes icons/icon-16.png | Bin 0 -> 393 bytes icons/icon-32.png | Bin 0 -> 757 bytes icons/icon-48.png | Bin 0 -> 1007 bytes icons/icon-96.png | Bin 0 -> 1842 bytes manifest.json | 14 +- package-lock.json | 582 ++++++++++++++++++++++++++++++- package.json | 3 +- 11 files changed, 644 insertions(+), 11 deletions(-) create mode 100644 dist/autotrader-marker-0.1.2.xpi create mode 100644 icons/icon-128.png create mode 100644 icons/icon-16.png create mode 100644 icons/icon-32.png create mode 100644 icons/icon-48.png create mode 100644 icons/icon-96.png diff --git a/content.js b/content.js index c1eefb2..a602693 100644 --- a/content.js +++ b/content.js @@ -20,22 +20,67 @@ const state = { }; // --- storage --- +// +// Primary: browser.storage.local (per-extension, syncs across tabs via +// storage.onChanged). Secondary: window.localStorage scoped to +// autotrader.co.uk — survives extension reinstall, because it's the site's +// storage, not the extension's. On load, if extension storage is empty but +// the site backup has entries, we re-hydrate. On every write we mirror to the +// site backup so the two stay in lockstep. + +const BACKUP_KEY = "atm:dismissedListings:v1"; + +function readSiteBackup() { + try { + const raw = window.localStorage.getItem(BACKUP_KEY); + return raw ? JSON.parse(raw) : null; + } catch { + return null; + } +} + +function writeSiteBackup(dismissed) { + try { + window.localStorage.setItem(BACKUP_KEY, JSON.stringify(dismissed)); + } catch { + // localStorage full/disabled — nothing to do + } +} async function loadState() { const res = await api.storage.local.get([STORAGE_KEY, SETTINGS_KEY]); - state.dismissed = res[STORAGE_KEY] || {}; + let dismissed = res[STORAGE_KEY] || {}; + + // Re-hydrate from site backup if extension storage lost its entries + // (e.g. after an unlisted reinstall that didn't upgrade in place). + const backup = readSiteBackup(); + if (backup && Object.keys(dismissed).length === 0 && Object.keys(backup).length > 0) { + dismissed = backup; + await api.storage.local.set({ [STORAGE_KEY]: dismissed }); + console.log("[ATM] restored", Object.keys(dismissed).length, "dismissals from site backup"); + } else if (Object.keys(dismissed).length > 0) { + // Keep site backup fresh even if we didn't need it this load + writeSiteBackup(dismissed); + } + + state.dismissed = dismissed; state.hideDismissed = !!(res[SETTINGS_KEY] && res[SETTINGS_KEY].hideDismissed); applyHideMode(); } +async function persistDismissed() { + await api.storage.local.set({ [STORAGE_KEY]: state.dismissed }); + writeSiteBackup(state.dismissed); +} + async function setDismissed(id, title) { state.dismissed[id] = { ts: Date.now(), title: title || "" }; - await api.storage.local.set({ [STORAGE_KEY]: state.dismissed }); + await persistDismissed(); } async function clearDismissed(id) { delete state.dismissed[id]; - await api.storage.local.set({ [STORAGE_KEY]: state.dismissed }); + await persistDismissed(); } function applyHideMode() { @@ -263,6 +308,7 @@ api.storage.onChanged.addListener((changes, area) => { if (area !== "local") return; if (changes[STORAGE_KEY]) { state.dismissed = changes[STORAGE_KEY].newValue || {}; + writeSiteBackup(state.dismissed); // keep site backup in sync with popup-driven changes document.querySelectorAll(".atm-card[data-atm-id]").forEach((card) => { refreshCardState(card, card.dataset.atmId); }); diff --git a/dist/autotrader-marker-0.1.2.xpi b/dist/autotrader-marker-0.1.2.xpi new file mode 100644 index 0000000000000000000000000000000000000000..b4521adc9d618474e3651f65233d1237a3a47470 GIT binary patch literal 24233 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 literal 0 HcmV?d00001 diff --git a/dist/updates.json b/dist/updates.json index 707e3e6..fa91ef5 100644 --- a/dist/updates.json +++ b/dist/updates.json @@ -9,6 +9,10 @@ { "version": "0.1.1", "update_link": "https://git.nocker.cloud/tony/autotrader-marker/raw/branch/main/dist/autotrader-marker-0.1.1.xpi" + }, + { + "version": "0.1.2", + "update_link": "https://git.nocker.cloud/tony/autotrader-marker/raw/branch/main/dist/autotrader-marker-0.1.2.xpi" } ] } diff --git a/icons/icon-128.png b/icons/icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..49ad4c608b5dfeeb0f5af41d0af399f36669e5b3 GIT binary patch literal 2364 zcmXX|dpy)x8$UlY%nXK+Ym*pavlO#TE{)5K$TidwjWT0rw~KMzF3R<1WXYzXT_Iwk z+;XerHYr8eQeu+ZF5{Bhx;DhTQ@rEzzJEOD`Fzj$KF{}j|9Q^2=H=mpmBq^f0I)93 z4#y-J-VU^kWNoz#d?QJiaOV@}0gzMP4hY=N(*OXy=;A>2zMQvk$1_aR5#KJZX^G8H zGvzPwFPZM^^mVg(rD@aaM@u+PL+;hBR2vU|3F-an@)89f5#WSMpD~n1&I!g}wN`qs zU&kx_a5E&lQ;(T^eIlYLl61{F@l5fScVyr2DgEZ&PObU}`O_ACp1x0_G@YnI>!n}1 zg(EtJ-O%5lMqc2nJA}Xu*au^y@S8*YRT%C1VZ zbYd(+edFD$oGIl}(2XIfee7 zf{(GXn|m5hjocfe6N0tHo3CX>8@YZ&PSOwoo#ad2%e)}Ubg+&x)|MQ^?5J8OB7()$ z5W?D}wF{B2)lB;Y^MPRgma!~K5b62WPDaoID-7Bf<2BtqJf5{h3ZF7xIq8h;DXh;M z2{}1LX38BTHH@z=jy;y)UdH2keC1op7jF!(jj^|O!qFdrit0Ciu_Vzb}S{X!RQhw%qGA3YiB z=+TbgkdU>$xw#;(2Yt1cPuN@#_onLCy@Ru|LaGeNsd;sM84PL!Dxw2w^zyq?|A$xRSs%d>_LE=?YYzQqf_E zpvo?12-BnltF!zUQ&XqY*XtS^2X{XRZB9cln9Mx}uEPTZ@2lz~04et^*PwDRIH-Tv z5~!)GCl=O5HCLSqn*e@(elyCmB}qwK1!UUbprGgTukS~O@cx|RzKQo68y83KAB}s0 zx2B!IjAqd)#gTTgqF+V_s!s8Wx2v-Y3YL`18XGp;FDnz4nYX+9zE0&ndw9p{{9)cm zJ47@y5=~a1mQ@MvHT96oCyrF3@{t&@TOg_+9B$h6!7g45drt zr5WBhO$%vlWAm|kUgV)8E76$ZZ$%!EulE@Nff_=sF%>+k~HO4y=;blcp3wDay!+;CYhDsJHI-0Ix{-laT$hZ}nZA zl*Gnm@KT1V>feNQ#5v2t?Fig==<>h2!}O9Uet@I}M^K4rxmI`#Azclmp(Os?g&z5b z-O=}?DM~<770D+(&j(WHATK0Hq}F^Am*vtq80x)&i63P`y*Idnw~v_2c|Powo#`5Obl^fLAx5c7CB zx9N(|_Q`~8?y}~g9$+1dE^6DGav=8zQ|t8iJK$DN!QWbz&t1G4(pPBw8* z%+hO)gx>M!=m(zl6W|Z>dp#?!I)RAM0?~}Dm8L4RXEi@eJzB%e4e7sUhApKQR|Oc zKf~zbf$`?*ib~gXphDPd1CTXEydUe*GiAv0 zA~O*6xJ4o)3+X7u&dHniUwm^(jiS^QKXYZ|O+4UQ$i-Cf66?~-W%8$EXXIIYKEGS( zXzOkGB-`1+VsPRvSoM%r)s5ov9@lYci66HgQ;+PaD2d=uj5?dBvPmQ@1t(m89Vg>%u zcF=|FxEB8=@UE#!e8%YvIqvHQJ!PhHpurrU9`tj chEK)2l^2x)an2VIb@dy>PU7ew z1RO%KkhpZ}S_-AKT4>GW)IT6dhho=Pen$+clBQ{g2k+kR-b;?V$5d54;hdjx&R>NP z_$6M15CifuA~lSM7_gdO{szwZ8!HN?X~MFsQUlFsPf=sVg>BnN(-f}j9+^p_8SNUMp!rwcB>U0JP*q~Z?zB&ht&c7ZdaPp zb{n7TwFL2Hvx$DEQypL!2JR`ub+JoR3F3FX9&}x=4p0;Yk5QB#VbN$v{xqA(S!ICZ zIC$S|a6O&kA_yd|!cc0S=lvXDXV>WaK9VGXrfCwyNvpg@GkZv6isLvB*z>Z7M8)`P n7oPuHrhri;vyeJ}lGphQUGcGYthg{{00000NkvXXu0mjf#D}Fh literal 0 HcmV?d00001 diff --git a/icons/icon-32.png b/icons/icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..ecdc21c3f655aebcfd04712c0bc117e110bcc5c5 GIT binary patch literal 757 zcmV<181eDJMGTQd$&8c zv#Thb76=4hbIuc-^8?O#gL4j#(dfjE6PME8d_LbB#@Nv_kUD}fRwB;cm%k)=zX&lC zooUCI@RkJV;}XCadrt!DW1NAyGDdO%do0pW1ibzt%#Uy3obfP6j=%d((p znkx}xOFraFF@_cp3WZQC7DXUk*Ab0I|4DB5i9{m93*ek%ad8obVW8P;qFSwDdwUz3 zo12bEr_;E+ycD*kX<}(RoI_PrG|tb_zP`rKRtxP~4c7iXsyjOau(H_!8}cFF zkp;wJG2B!tI0%JsUo4_+S$NQO=+P+NaW3#=EE2)Z$qDA?=SLSXIXQ`Ts|9Up%29+9 zxz_O^-;o7y&he#E!BH%RPjho9FD&5O;URw9-il}cJB@X1&W?|z{uo8ZD4WUPv#N^V zb`f@R!r96Svb($92~brPW+vmf=1w_b?(JcDdD%Mwu}&gVa6KHxy`~9bdiKB57}>}s zptOK)B7T^ed6IDUB>Xr#E1iJS0tm+GDeC3&0J+nWG%6KgD;rmlF{16YMw`szBOXl? zU)R@Rtga5gTwB9;!w@#NwVKqnEhV74x8L2};p*xNsZzP=O;24D4GPG3yKz~!{tNDWO1 nt;;hdW}Pvn5l8RK6-D_4@5jk;Ij;6Q00000NkvXXu0mjfv-nr9 literal 0 HcmV?d00001 diff --git a/icons/icon-48.png b/icons/icon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..38f67e4d37bb26af8d0cc80659fbfacc79f7d558 GIT binary patch literal 1007 zcmVK@{dWlsPQ1HhKYXU@uyc3tm7VflGY^eE{(d zNbM3{K%)jQaMPA17>!pZ)!K_D1&tSEaY59J)`ru}$PyOTU6_GondA!w&z$|f-SZ9e zvo4oGBZLG9Au=K4CjdMG08R*xgpeyj$R_|;c3HKVnVGi$@NI&G(E`QU+1YtR@@}{L z9RR2fAc+=G2_Z{HcYYekV;gsFxBE?Z&3|zKDI5~tI)-%s8RWzVDj?+mBFKpyS9_?$ zX#^qU$^`%qlO_WEcyKv@1d3o_0UnPB*Vfh;=-;Cz;^E9cuz>aTb*xsa46-bvBuOJ9 zFG&*1spY5F8moX&ijaE9k4=Elg+xV2Bgi?FiD_*nlS$nLQ>he}h*9No@mzR+e;@1h zdIyC<0psyF#$vI7Kx1>coGwQ;o8`I@LkkE7gE+1h3@{>G~QonT&k`5{U$2tA(e2zcoP%@~1u@%eA$& zWuJg>ILu7j}%U;dh#d3qb=53FtO5 z?=V^xG_a6>ZX@&lkSRw;LIxHVK#lzO{+@d(@!V{(91{^hr`0DXC#;5_8x1xwtL5`} z5sk9iHbgXvN+$C%k!v(q-?Otbp+ymw0Btd%s;cl5T2)oP-jx(3kk98a8jWHk z5*Y|ImX7_ZstT{{Mz*9}TwKIZD8xQr>)#z?`;t;JS%9ystYEEHVO?^?xl!vTIw#Y-3AA0NAy$Ww!N4%Y&AMRSB8Jc*ec8XoZD^ z1!hqCDG~!iVyd^-2_g5>e!%gA3XmsF1o-ihme8^Th#)84YbTYT9Y6+$M6q*D3;!6|Z}aB0hhAV-2DBnQ@nwxmTwQGQ@3AUN2-A#vOkV)<2Xv0W$e z+UvEwZ@lY~J}JV>%$x7qoo{CBou_Fv7G2jn5%EVvybJ(;BH}9mc!P)(B*5D~zsz%R zS=aT001(!iRNh6z?*ZVpbjML~06^R@jPEo}+tLu`bzT1g5f`O9hAjpFm z`PjTC!7z;XYz1hK`RK*d5Va$JxAbF*0fAu{UzVHax2KxujQ{{Jw{D$)h(Ac*6&Nt+ zy8cb+@G~VH5C#kYV3zLfhzEqhLk(!o#=0RRVBfXmW>U_b!?zwr3~mvkT) zT-@a+;H3hAP(YF5C*ZXLflv?u0RL(#1cCuZTL5eeK++`m?g!!YR3p+ht?GehZg+QQ1p$|lUs%~`XJGiS~; z1-zo2ot-V)b|EhQ{P5w!R?NN;pufMLTCMc=_xneHfq?;PwK6a;;2#0{`ud6;%cj%x zEE=WE;v!`;8C(35NYL|3m+0Ar3w7c7#fy&GdNw+0#a1XBvu_0G>guAkwKc0_xonoE zy1OYJ3Q=-wj9w>`wn&YS)9ubqG7(*&mNss8by=}lH%T^2-QC^(5rDC3|7W%2OnQCgm!rtI>vE2Qt;qld?i+14*@z@7_WXT%8`g6a{W8uw_Urc)+=qmA_6!yVsoQ0hr^VL#VVSu zWw^1Jb*x^B7B^r~0ZNT{_3`6| zu5O)(u=@0=xB-g_P-?`vwY7$k?^FbCQ`&$<1?cJNpSQUW@cU8+*YA*43cl^crHNc z@AFqzS4p~X43cl^cq+igmm`*zmZbT&Vvu}Y$}<7%-b`6qTB1xQV_|V|kw!;HX=G%i zDTqd+)||i4UMcxfBD7yoO8Wd2CDq=^Ld9ZI@-@{+Btk<&Ll*dNx9wM|M->s2dQp4F zjvX{PIl0LwCnhGWb%WEkoz|m*2udAQFjVxp3n7wjW?q zk~nvCbbL^e{8AAR@plF881f13FsF{l-!L3S6$qYM93xeSok|4}KjX(ofsRnCO*L(2 zJ1)u=UDv#uZ|U3ufUh-8dq-0brWHPY7a0R(RXz7rdpM g=i)$dZ>NUxA7J>-rxUkx=l}o!07*qoM6N<$g4f??1^@s6 literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index c143e30..3868450 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "AutoTrader Marker", - "version": "0.1.1", + "version": "0.1.2", "description": "Mark AutoTrader listings as 'not wanted' so you can spot the ones you haven't reviewed yet.", "permissions": [ "storage" @@ -27,12 +27,16 @@ "action": { "default_title": "AutoTrader Marker", "default_popup": "popup.html", - "default_icon": "icon.svg" + "default_icon": { + "16": "icons/icon-16.png", + "32": "icons/icon-32.png", + "48": "icons/icon-48.png" + } }, "icons": { - "48": "icon.svg", - "96": "icon.svg", - "128": "icon.svg" + "48": "icons/icon-48.png", + "96": "icons/icon-96.png", + "128": "icons/icon-128.png" }, "browser_specific_settings": { "gecko": { diff --git a/package-lock.json b/package-lock.json index 56e3e4c..c0c472e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,14 @@ { "name": "autotrader-marker", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "autotrader-marker", - "version": "0.1.0", + "version": "0.1.1", "devDependencies": { + "sharp": "^0.34.5", "web-ext": "^8.3.0" } }, @@ -88,6 +89,17 @@ "node": ">= 0.10.4" } }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", @@ -291,6 +303,496 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@mdn/browser-compat-data": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-7.1.5.tgz", @@ -1254,6 +1756,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -3332,6 +3844,64 @@ "dev": true, "license": "MIT" }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3622,6 +4192,14 @@ "node": ">=14.14" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index 42e3aea..0ad484f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "autotrader-marker", - "version": "0.1.1", + "version": "0.1.2", "private": true, "description": "Firefox extension that marks AutoTrader listings as 'not wanted'.", "scripts": { @@ -10,6 +10,7 @@ "release:major": "bin/release.sh major" }, "devDependencies": { + "sharp": "^0.34.5", "web-ext": "^8.3.0" } }