tsdkbundle: Канцэлерызацыя TypeScript з мнагімі элементамі на базе Bun
Рабочы процес пакетавання на адміністрацыйных базах для кантэйнероў TypeScript з мнагімі элементамі, з можлівасцю задаўання стандартных настройкаў для локальнага будавання і перакрытчэння артыфактаў у средах CI.
У гэтым керавані перадаўляецца рабочы пат пры выкарыстоўванні: 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”, якія маскуюць адзінакі.
Перш чым пераходзіць да наступнага крока, заморажавайце версіі, фіксуйце ідеальны варыянт дадзеных для критычнага маршруту та паказвайце крокі для вярнення да пачатковага стану. У спільных средах неабходны ліміты частоты запытоў, перакананні ў правах на выкарыстоўванне ресурсоў та чысткі власнік для змены секрэтных даных.
Для паўнейшага забезпечэння надзеянасці, перш чым зменіць код, неабходна визначыць вхідныя даны, власніка кроку та критэрыя завершэння. Аператары должны магчымае перайсці канкрэтны крок з вядомага пункта контролю, не прыпускаючы ўтрыманні якога-лібо схованага стану.
Зберагаюце канфігурацыю пазначкай за межамі коду прыемлі. Файлы са сераўнамі сяродавасці, храненні секрэтных дадзенаў і флагі функцыйяй павінны знаходзіцца ў адном месцы, якое можа буць пераглянута аператарамі.
Закрепіце версіі часу выканання і запісаце дзейнергію, якая выканала дэму.