Skip to main content
Bir pack, bir GitHub yayınına bağlı üç dosyadan oluşur. failproofai pack build, zaten sahip olduğun bir politika dosyasından üçünü de yazar.

1. Politikaları yaz

Bir dosya, herhangi bir özel politika ile aynı API’yi kullanarak. Bir pack için iki fazladan alan önemlidir:
defaultEnabled, bunu atlarsanız false değerini alır. Düz bir failproofai pack add sadece işaretlediklerini açar — bir yabancının her politikasını izinsiz yüklemek, yükleyenin kullanıcısı için yapması gereken bir karar değildir.
Girdi tek bir bağımsız dosya olmalıdır. Sadece girdi özet-sabitlenmiş olduğundan, yerel dosyaları ithal eden bir pack, özet tarafından neyin çalıştığını kapsadığını dürüstçe iddia edemez. Önce bundle et (esbuild, bun build, rollup) ve packı bundle’ından oluştur — pack build yerine getiremeyeceği bir sözü göndermek yerine yerel bir ithalatı reddeder.

2. Yayın varlıklarını oluştur

Üç dosya yazar ve her politikayı önce yükleyicinin kendi kurallarıyla doğrular — bu nedenle asla yüklenemeyen bir pack burada başarısız olur, bunu düzeltebileceğin yer: Derleme sırasında reddedilir: publisher/name olmayan bir id, / içeren bir politika adı, alwaysOn bildiren bir politika, eksik description, category veya match, hiçbir şey kayıt etmeyen bir girdi ve yerel dosyaları ithal eden bir girdi.

3. Bunları bir yayına ekle

Yayını derlerken kullandığın sürümle etiketle ve üç dosyanın tamamını yayın varlıkları olarak ekle:
Artık herkes kurabilir:
Varlık adları sabittir — bunlar, bir tüketicinin CLI’sinin hiçbir API çağrısı ve keşif olmadan URL’lerini neyin oluşturduğudur.

Yeni bir sürüm göndermek

Yeni --version ile derle, yeni bir yayın etiketle, üç varlığı tekrar ekle. Tüketiciler aynı pack add işlemini çalıştırırlar ve seçtikleri alt kümesini tutar; bir politikayı kapadıkları yükseltme sırasında kapalı kalır. Bir politikanın adını değiştirmek, kesintiye uğratan bir değişikliktir: kapatmış olduğu bir makine artık mevcut olmayan bir adı kapatıyor ve yeni ad, defaultEnabled söyledikleri ile varır.

Kullanıcılarınız neye güveniyor

SHA256SUMS varlıkla aynı yayında yaşar, bu nedenle baytların yayınladığın olanlar olduğunu kanıtlar — kim olduğunu değil. Depoyu yazabilen herkes her iki dosyayı da yazabilir. Kullanıcılarınızın koruması, özet kurulum sırasında sabitlenmiş olmasıdır, bu nedenle gönderdiklerin sonrasında değiştiremez. Yazma erişimini kontrol ettiğin bir depodan yayınla ve bir pack yayınını bir paket yayınlamak gibi davran.

Zorunlu kılmadan önce gözle

Bir manifest "effect": "observe" bildirebilir. Bu politikalar çalışır ve kararları kaydedilir ve atılır — hiçbir şey engellenmez. Yeni bir kuralı gerçek trafiğe karşı, birinin işini kesintiye uğratabilmesinden önce ölçmenin yoludur.