Skip to content

chore: הוספת knip ו-size-limit כסקריפטים מקומיים - #1060

Draft
Swissystem7 wants to merge 1 commit into
masterfrom
chore/add-knip-and-size-limit
Draft

Swissystem7 wants to merge 1 commit into
masterfrom
chore/add-knip-and-size-limit

Conversation

@Swissystem7

@Swissystem7 Swissystem7 commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

ה-PR הזה הוחלף ב-#1078. כל השינויים שלו (knip, size-limit, ‏knip.json ו-.size-limit.json) עברו ל-#1078 יחד עם madge ו-check:assets, עם package.json אחד ו-lockfile אחד. השארתי אותו פתוח כדי שתחליטו מה לעשות איתו.

מה הכלים עושים

  • knip מאתר קבצי JS, ייצואים ותלויות npm שלא בשימוש.
  • size-limit עם התוסף @size-limit/file בודק שגודל הקבצים שמגיעים לדפדפן לא גדל מעבר לתקרה. אין כאן שלב build (האתר הוא Pages סטטי בלי Webpack/Vite), לכן נבחר preset הקובץ ולא @size-limit/preset-app.

ההמלצה הגיעה משיחת «כלים» בג׳מיני, בין השאר בגלל ציון Lighthouse 77. אין שימוש בטוקנים של Copilot, ואין workflow חדש ב-GitHub Actions — דקות ה-Actions נשארות קפואות עד 1.12.

איך מריצים מקומית

npm install
npm run knip
npm run size

מה נוסף ב-PR

  • knip@6.45.1, size-limit@14.3.0 ו-@size-limit/file@14.3.0 כ-devDependencies מדויקים, כולל עדכון package-lock.json
  • סקריפטים knip ו-size ב-package.json
  • knip.json מותאם לאפליקציית UMD/IIFE: בדיקות node --test, כלי tools/, sw.js, והקובץ src/data/struggleTopics.js שנטען מה-HTML בלבד
  • הניתוח מכסה את האפליקציה הראשית (src/, test/, tools/). e2e/ ו-pilot/ הושארו בחוץ במכוון: ל-pilot יש package.json נפרד עם Playwright, ול-e2e ברמה הראשית אין תלויות ב-package.json של השורש
  • .size-limit.json עם שתי תקרות לפי גודל Brotli שנמדד בפועל (ברירת המחדל של size-limit 14):
    • index.html — תקרה 70 kB (נמדד 62.12 kB)
    • src/**/*.js — תקרה 620 kB (נמדד 563.6 kB)
  • לא נגעתי ב-workflows ולא בסקריפטי שרת

ממצאים מההרצה המקומית

knip מדווח על 7 ייצואים שלא בשימוש ב-src/lib/measurementConversion.js (ולכן יוצא עם קוד 1). לא מחקתי אותם ב-PR הזה:

  • metersToCentimeters
  • centimetersToMillimeters
  • rectanglePerimeter
  • rectangleArea
  • squarePerimeter
  • squareArea
  • explainMeasurement

לא נמצאו קבצים שלמים או תלויות מיותרות בהיקף שהוגדר.

size-limit עובר: 62.12 kB / 70 kB ל-index.html, ו-563.6 kB / 620 kB לכל src/**/*.js (Brotli).

ה-PR הזה הוא טיוטה ולא למיזוג עד לאישור.

Add knip 6.45.1 and size-limit 14.3.0 with @size-limit/file, plus
knip.json and .size-limit.json suited to this static Pages app.
No GitHub Actions workflow; run with npm run knip and npm run size.
@codecov

codecov Bot commented Nov 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Swissystem7 added a commit that referenced this pull request Nov 14, 2026
…octor (supersedes #1060) (#1078)

* chore: local madge circular-deps and asset-path checks

* chore: one quality-check PR (knip + size-limit + madge + check:assets + check:html + doctor); narration paths now point to the existing .wav clips

* chore: narration generator writes the .wav files the player expects; add check:sw, check:a11y-static, check:i18n to doctor

---------

Co-authored-by: x <x@x>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant