tsdkbundle: Канцэлерызацыя TypeScript з мнагімі элементамі на базе Bun
tsdkbundle выкарыстоўвае Bun для збірання пакетаў TypeScript з калькамі элементаў, пры чым задаюцца разумныя стандартныя настройкі для локальнага будавання і перагляду артыфактав у CI, а таксама існуе чэк-ліст для эксплуатацыі.
Крыніцы: **tsdkbundle: A Bun-Based TypeScript Multi-Entry Bundler**
У гэтым керавані перадаўляецца рабочы пат пры выкарыстоўванні: tsdkbundle: TypeScript-бандлер на базе Bun з мнагімі элементамі. Акцэнт ставяецца на кантракты, перакрычанні і код, які можна прыўязаць да рэпазітарыю без неабязковасці здогадвацца пра мету. Для агледзення, перш чым зменіць код, неабязкова задаць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аперацыяныя працавікі должны магчымае перадзваніць крок з вядомай точкі контролю, не здагадваючыся пра схованы стан. Валідзіце маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць.
src/
├── index.ts # API service
├── worker.ts # Async worker
└── scripts/
└── migrate.ts # Database migration
export default {
projects: {
backend: {
target: "node",
entry: ["src/index.ts", "src/worker.ts", "src/scripts/migrate.ts"],
},
},
};
bundle dev backend
bundle build backend
npm i tsdkbundle -D
Чаму Bun?
Для праекту Why Bun? неабяжна прадзеўначыць вхідныя даны, адпаведальнага за кожны крок і крытэрыя завершэння пры змены коду. Аперацыйныя працавнікі должны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце гэтаму этапу як дагавору межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, прадзеўначыць перакананні ў успеху і адмовіцеся ад тыхняй частковай працы без паведамлення. З’ясавайце, што насправды блакуе ціклу запуску, а што толькі чакае. Сінхронныя выключэння ўсё чашча являюцца класычной пасткай.
Случаі выкарыстоўвання
Для анаізу сцэнараў выкарыстання неабходна прадзефінаваць вхідныя даны, адпаведальную особу за кожны крок і крэтарыі выходу пры змяне коду. Аператары должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан сістэмы. Запісваць час выканання і вітраты разам з функцыйнальнымі рэзультатамі. Вчасная відобразаець інформацыі запобегае неспакоўным рахункам у спільных срэдах. Неабходна з’ясавіць, што насправды блакуе цыклу запуску, а што толькі чакае свайго часу. Сінхронныя асывянення ёсць класычной пасткай.
Чэрніця кантролю
Для чэрніцы кантролю таксама неабходна прадзефінаваць вхідныя даны, адпаведальную особу за кожны крок і крэтарыі выходу пры змяне коду. Аператары должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан сістэмы.
Неабходна аддзеўнаваць дакументацыю як пра стандартны ход задачы, так і пра шляхі ўсунення асывянень. Перапрыбуткі і обработка некорэктных паведамленняў ёсць часткай продукту.
Лепшыя ўсталяваныя шаблоны паралельнай працы, чым обявлення тыпу “fire-and-forget”, якія маскуюць адзінакі.
Лепшая, простая надзеянасць, чым хітрыя, ексклюзывныя дэманстрацыі.
Лепшыя маленькія, тэставаныя элементы, чым велічзюбныя скрыпты. Калі якісь крок не выйшае, адзінака должна быць спрамована на адну конкрэтную адпаведальнасць.
Лепшыя ўсталяваныя шаблоны паралельнай працы, чым обявлення тыпу “fire-and-forget”, якія маскуюць адзінакі.
Перш чым пераходзіць да наступнага крока, заморажавайце версіі, фіксуйце ідэальны варыянт дадзеных для крытычнага маршруту і паказвайце крокі для вярнення да пачатковага стану. У спільных срэдах неабходны ліміты частоты запытоў, перакананні ў правах на выкарыстоўванне рэсурсоў і чысткі власнік для змены секрэтных даных.
Для паўнейшага забезпечэння надзеянасці, перш чым зменіць код, неабходна візначыць вхідныя даны, власніка кроку і крытэрыя завершэння. Аператары должны магчымае перайсці канкрэтны крок з вядомага пункта контролю, не прыпускаючы ўтрыманні якога-лібо схованага стану.
Зберагаюце канфігурацыю пазначкай за межамі коду прыемлі. Файлы са сераўнамі сяродавасці, храненні секрэтных дадзенаў і флагі функцыйяй павінны знаходзіцца ў адном месцы, якое можа буць пераглянута аператарамі.
Закрэпіце версіі часу выканання і запісаце дзейнергію, якая выканала дэму.