npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

nodebb-plugin-aliexpress-preview

v1.1.0

Published

Click-to-preview tooltip for AliExpress links in posts - server fetches and caches the product title/image/price once per URL.

Readme

nodebb-plugin-aliexpress-preview

סמל קטן (זכוכית מגדלת) ליד כל קישור ל-aliexpress.com בתוך פוסט - לחיצה עליו פותחת חלונית קטנה עם תמונת המוצר, שמו, ומחירו (אם נמצא), בלי לצאת מהפורום. עובד זהה במחשב ובנייד (זו לחיצה, לא ריחוף).

מה זה כולל

  • בשרת (library.js, מותקן כפלאגין) - שולף פעם אחת בלבד לכל קישור (לתמיד, לכל הפורום) את תגיות ה-og:title/og:image/og:description ואת המחיר (מ"נתונים מובנים" JSON-LD, או מתגיות product:price:* כגיבוי) מדף המוצר, שומר ב-DB של הפורום, ומחזיר ללקוח. כתובות שאינן https על דומיין aliexpress.com (או תת-דומיין שלו) נדחות מיידית - אי אפשר להשתמש בזה כ"פרוקסי" לשליפת כתובות אחרות.
  • בדפדפן (static/lib/aliexpress-preview-client.js, מודבק ב-Custom JS) - מוסיף את הסמל ליד כל קישור כזה, ומציג את החלונית בלחיצה עליו.

שימו לב: אין כאן אפשרויות מוצר (צבע/מידה/סוג) - אלה כמעט תמיד לא זמינות בקוד ה-HTML הראשוני של הדף (נטענות בנפרד ע"י קוד ה-JavaScript של עלי אקספרס עצמה מתוך מבנה פנימי לא-מתועד), ולכן הוחלט במפורש לא לכלול אותן - זה היה דורש הנדסה לאחור הרבה יותר שברירית מהתמונה/שם/מחיר.

התקנה - שלב 1: הפלאגין בשרת

  1. פרסמו את התיקייה הזו ל-npm (npm publish --access public מתוך תיקיית הפלאגין).
  2. ב-ACP → הרחבות → תוספים → מציאת תוספים - חפשו aliexpress-preview, התקינו, הפעילו, ואז "בניה מחדש והפעלה מחדש".

התקנה - שלב 2: קוד הלקוח

מדביקים את כל התוכן של static/lib/aliexpress-preview-client.js ב-ACP → מראה חיצוני → תוכן מותאם אישית → Custom JavaScript - מתחת לקוד הקיים, לא במקומו.

איך זה עובד בפועל

  1. ליד כל קישור לעלי אקספרס מופיע סמל עגול קטן עם זכוכית מגדלת, צמוד לקישור בצדו הימני. הקישור עצמו ממשיך לעבוד רגיל - הסמל הוא תוספת, לא שינוי של הקישור.
  2. לחיצה על הסמל פותחת חלונית עם "טוען תקציר מוצר...", ואז תמונה + שם + מחיר (מה שנמצא - אם לא הצלחנו לשלוף כלום, החלונית נעלמת בשקט, בלי הודעת שגיאה מציקה). לחיצה שנייה על אותו סמל סוגרת את החלונית.
  3. לחיצה על "פתח באתר" בתוך החלונית ממשיכה לעלי אקספרס כרגיל (בלשונית חדשה).
  4. כל קישור נשלף מעלי אקספרס פעם אחת בלבד לכל הפורום, לתמיד - התוצאה נשמרת ב-DB. כל לחיצה נוספת (גם ממשתמש אחר, גם בעוד חצי שנה) נשלפת מהמסד המקומי בלבד, בלי לגעת בעלי אקספרס שוב.
  5. יש הגבלת קצב בסיסית (עד 20 בקשות שליפה לדקה למשתמש/IP) כדי שאף אחד לא יוכל להציף את השרת בבקשות.

מגבלה אמיתית שכדאי לדעת עליה

עלי אקספרס יכולה בעתיד לחסום/לשנות את מבנה הדף שלה בכל רגע (הגנות אנטי-בוט, קאפצ'ות וכו') - זה סיכון מובנה בכל דבר שמבוסס על שליפת דף חיצוני, ולא עניין של תקינות הקוד. בדיקה ידנית שעשינו לפני הבנייה הראתה ששליפה בסיסית עם User-Agent של דפדפן רגיל עובדת, אבל אין לזה הבטחה לטווח ארוך. אם זה יפסיק לעבוד - החלונית פשוט לא תופיע (בלי לשבור שום דבר אחר בפורום), וצריך יהיה לבדוק מחדש מה השתנה.

ביצועים

העומס בפועל זניח: הבקשה החוצה לעלי אקספרס קורית פעם אחת בלבד לכל קישור ייחודי (לא בכל לחיצה, לא לכל משתמש), עם timeout קצר (8 שניות) ותקרת גודל קריאה (600KB - קצת יותר מרק ה-head, כי נתוני המחיר לפעמים יושבים רחוק יותר בדף) כדי שזה לעולם לא "יתקע" משאב בשרת.