Skip to main content
חבילה היא שלוש קבצים המצורפים להוצאת GitHub. failproofai pack build כותב את שלוש מן קובץ מדיניות שכבר יש לכם.

1. כתבו את המדיניויות

קובץ אחד, באמצעות ה-API זהה לכל מדיניות מותאמת אישית. שני שדות נוספים חשובים לחבילה:
defaultEnabled מתחיל כברירת מחדל ל-false כשאתם משמיטים אותו. failproofai pack add פשוט מחליף רק מה שסימנתם — התקנת כל מדיניות של זר ללא השגחה אינה החלטה שהמתקין צריך לקבל עבור המשתמש שלו.
הרשומה חייבת להיות קובץ אחד עצמאי. רק הרשומה מעוגנת בעזרת digest, כך שחבילה שמייבאת קבצים מקומיים לא יכולה להטיח דעה שה-digest מכסה מה שפועל. צרור תחילה (esbuild, bun build, rollup) ובנו את החבילה מהצרור — pack build דוחה ייבוא מקומי במקום לשלוח הבטחה שהוא לא יכול להשמור.

2. בנו את נכסי ההוצאה

הוא כותב שלוש קבצים, ומאמת כל מדיניות ב-כללי של הטוען עצמו תחילה — כך שחבילה שלעולם לא יכולה להתקין נכשלת כאן, כאשר אתם יכולים לתקן זאת: דחוי בזמן בנייה: id שאינו publisher/name, שם מדיניות המכיל /, מדיניות המצהירה על alwaysOn, חסרון description, category או match, רשומה שלא רושמת כלום, ורשומה שמייבאת קבצים מקומיים.

3. צרפו אותם להוצאה

תייגו את ההוצאה עם אותה גרסה שבנויה, וצרפו את שלוש הקבצים כנכסי הוצאה:
כל אחד יכול להתקין זאת כעת:
שמות הנכסים קבועים — הם מה שה-CLI של הצרכן בונה את כתובות ה-URL שלו, ללא קריאת API וללא גילוי.

משלוח גרסה חדשה

בנו עם --version חדש, תייגו הוצאה חדשה, צרפו את שלוש הנכסים שוב. הצרכנים מפעילים את אותו pack add ושומרים את כל קבוצת המשנה שבחרו; מדיניות שהם כיבו נשארת כבויה על פני ההשדרוג. שינוי שם של מדיניות הוא שינוי מפורק: מכונה שכיבתה היא כיבתה שם שלא קיים עוד, והשם החדש מגיע בכל מה ש-defaultEnabled אומר.

מה המשתמשים שלכם מאמינים

SHA256SUMS חי באותה הוצאה כמו הקנין, כך שזה מוכיח שהבתים הם אלה שפרסמתם — לא מי אתם. מי שיכול לכתוב למאגר יכול לכתוב את שני הקבצים. הגנת המשתמשים שלכם היא שה-digest עוגן כשהם מתקינים, כך שמה שאתם שלחתם לא יכול להשתנות תחתיהם לאחר מכן. פרסמו ממאגר שלבקרת הכתיבה שלו אתם שולטים, והתייחסו לשחרור חבילה כפרסום חבילה.

צפו לפני שאתם אוכפים

מניפסט עשוי להצהיר על "effect": "observe". מדיניויות אלה פועלות וההוראות שלהן נרשמות והודחות — כלום לא חסום. זה הדרך למדוד כלל חדש מול תעבורה אמיתית לפני שיכול להפריע לעבודה של מישהו.