@daiyu-5577/buildsystem 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +485 -0
  2. package/dist/artifact.js +59 -0
  3. package/dist/artifact.js.map +1 -0
  4. package/dist/cli.js +25 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/build.js +39 -0
  7. package/dist/commands/build.js.map +1 -0
  8. package/dist/commands/server.js +28 -0
  9. package/dist/commands/server.js.map +1 -0
  10. package/dist/config.js +42 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/cron.js +163 -0
  13. package/dist/cron.js.map +1 -0
  14. package/dist/crypto.js +40 -0
  15. package/dist/crypto.js.map +1 -0
  16. package/dist/custError.js +10 -0
  17. package/dist/custError.js.map +1 -0
  18. package/dist/database/index.js +64 -0
  19. package/dist/database/index.js.map +1 -0
  20. package/dist/database/types.js +8 -0
  21. package/dist/database/types.js.map +1 -0
  22. package/dist/fsHelpers.js +93 -0
  23. package/dist/fsHelpers.js.map +1 -0
  24. package/dist/git.js +67 -0
  25. package/dist/git.js.map +1 -0
  26. package/dist/logger.js +80 -0
  27. package/dist/logger.js.map +1 -0
  28. package/dist/notifier.js +66 -0
  29. package/dist/notifier.js.map +1 -0
  30. package/dist/pm.js +21 -0
  31. package/dist/pm.js.map +1 -0
  32. package/dist/queue.js +273 -0
  33. package/dist/queue.js.map +1 -0
  34. package/dist/server/index.js +189 -0
  35. package/dist/server/index.js.map +1 -0
  36. package/dist/server/routes.js +395 -0
  37. package/dist/server/routes.js.map +1 -0
  38. package/dist/server/websocket.js +230 -0
  39. package/dist/server/websocket.js.map +1 -0
  40. package/dist/static/web/assets/index-BzSDdMyu.js +304 -0
  41. package/dist/static/web/assets/index-DptBjpyJ.css +1 -0
  42. package/dist/static/web/index.html +13 -0
  43. package/dist/types.js +33 -0
  44. package/dist/types.js.map +1 -0
  45. package/dist/utils.js +66 -0
  46. package/dist/utils.js.map +1 -0
  47. package/dist/web/assets/index-Ds-OtVY9.js +76 -0
  48. package/dist/web/assets/index-F5jE8yX9.css +1 -0
  49. package/dist/web/index.html +13 -0
  50. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ ._modalRoot_1nlw0_1{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);transition:background .3s ease}@keyframes _modal-show_naiks_1{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes _modal-hide_naiks_1{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.96)}}._modalContainerShow_naiks_21{animation:_modal-show_naiks_1 .4s var(--ease-spring)}._modalContainerHide_naiks_24{pointer-events:none;animation:_modal-hide_naiks_1 .28s var(--ease-smooth) forwards}._closing_naiks_28{animation:_modal-hide_naiks_1 .28s var(--ease-smooth) forwards}.modal-container{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px 0 var(--glass-highlight) inset,0 12px 40px #00000073,0 0 0 .5px #ffffff0f}.modal-close-bar{display:flex;justify-content:flex-end;padding:12px 16px 0}.modal-close-bar .close-btn{background:none;padding:4px 10px;font-size:18px;color:var(--text-dim);border-radius:var(--radius-sm);border:none;cursor:pointer;transition:color .2s ease,background .2s ease;font-family:var(--font)}.modal-close-bar .close-btn:hover{color:var(--text);background:var(--glass)}.modal-body{flex:1;overflow:auto;padding:0 24px 24px}@keyframes _toast-show_sls7c_1{0%{opacity:0;transform:translateY(-16px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes _toast-hide_sls7c_1{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.94)}}._toastShow_sls7c_21{animation:_toast-show_sls7c_1 .4s var(--ease-spring)}._toastHide_sls7c_24{animation:_toast-hide_sls7c_1 .28s var(--ease-smooth) forwards}._toastRoot_sls7c_27{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;pointer-events:none}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item{padding:10px 24px;border-radius:var(--radius);font-size:14px;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px #ffffff26 inset,0 4px 16px #00000059;text-shadow:0 1px 2px rgba(0,0,0,.2)}.toast-item.toast-success{background:linear-gradient(180deg,#4ADE80 0%,var(--success) 100%)}.toast-item.toast-error{background:linear-gradient(180deg,#FF6B63 0%,var(--danger) 100%)}._userModal_bfbaq_1{padding:32px;text-align:center}._userModal_bfbaq_1 h3{margin-bottom:16px;font-size:18px;color:var(--text)}._userModal_bfbaq_1 .user-avatar-large{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 4px 12px #0000004d}._userModal_bfbaq_1 .user-info{margin-bottom:16px;text-align:left}._userModal_bfbaq_1 .info-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--glass-border)}._userModal_bfbaq_1 .info-row:last-child{border-bottom:none}._userModal_bfbaq_1 .info-row .label{width:80px;color:var(--text-dim);font-size:13px;flex-shrink:0}._userModal_bfbaq_1 .info-row .value{flex:1;color:var(--text);font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}._userModal_bfbaq_1 .info-row .value.code-id{font-family:var(--font-mono);font-size:12px;word-break:break-all}._userModal_bfbaq_1 .info-row .value.code-id .copy-icon{background:transparent;border:none;cursor:pointer;font-size:14px;padding:2px;opacity:.5;transition:opacity .2s ease;flex-shrink:0}._userModal_bfbaq_1 .info-row .value.code-id .copy-icon:hover{opacity:1}._userModal_bfbaq_1 .info-row .value.role-tag{display:inline-flex;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px}._userModal_bfbaq_1 .info-row .value.role-tag.super{background:#ff453a33;color:var(--danger)}._userModal_bfbaq_1 .info-row .value.role-tag.admin{background:#64d2ff33;color:var(--info)}._userModal_bfbaq_1 .info-row .value.role-tag.user{background:#8e8ea833;color:var(--text-dim)}._userModal_bfbaq_1 .btn-close{width:100%;max-width:200px;margin:0 auto;padding:10px 14px;background:var(--primary);border-radius:var(--radius-sm);font-size:13px;color:#fff;border:none;cursor:pointer}._userModal_bfbaq_1 .btn-close:hover{background:var(--primary-dark)}._select_f48hn_1{position:relative;display:inline-block}@keyframes _select-show_f48hn_1{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-width:140px;padding:6px 12px;font-size:12px;font-family:var(--font);color:var(--text);background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;cursor:pointer;transition:all .25s ease;box-shadow:0 1px 0 var(--glass-highlight) inset,0 1px 3px #0003;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.select-trigger:hover{background:var(--bg-card-hover);transform:translateY(-1px);box-shadow:0 1px 0 var(--glass-highlight) inset,0 2px 6px #00000040}.select-trigger:active{transform:translateY(0)}.select-trigger-open{background:var(--bg-card-hover);box-shadow:0 1px 0 var(--glass-highlight) inset,0 0 0 2px var(--primary)}.select-trigger-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-placeholder{color:var(--text-dim)}.select-arrow{font-size:18px;line-height:1;color:var(--text-dim);transition:transform .25s ease;transform:rotate(-90deg)}.select-arrow-open{transform:rotate(-90deg) rotate(180deg)}.select-dropdown{max-height:240px;overflow-y:auto;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px 0 var(--glass-highlight) inset,0 8px 32px #0006;animation:select-show .25s var(--ease-smooth)}.select-option{padding:8px 14px;font-size:12px;color:var(--text);cursor:pointer;transition:all .2s ease}.select-option:not(.select-option-active):hover{background:var(--glass)}.select-option:first-child{border-radius:var(--radius) var(--radius) 0 0}.select-option:last-child{border-radius:0 0 var(--radius) var(--radius)}.select-option-active{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:var(--text-bright);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.15)}._permissionModal_lkmtn_1{padding:32px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}._permissionModal_lkmtn_1 h3{color:var(--text);margin-bottom:16px;font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}._permissionModal_lkmtn_1 h3 .user-count{font-size:12px;font-weight:500;color:var(--text-dim)}._permissionModal_lkmtn_1 .search-bar{margin-bottom:16px}._permissionModal_lkmtn_1 .search-bar input{width:100%;padding:8px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-card);color:var(--text)}._permissionModal_lkmtn_1 .search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}._permissionModal_lkmtn_1 .user-list{flex:1;overflow-y:auto}._permissionModal_lkmtn_1 .user-list table{width:100%;border-collapse:collapse}._permissionModal_lkmtn_1 .user-list table thead{position:sticky;top:0;background:var(--bg-card);z-index:1}._permissionModal_lkmtn_1 .user-list table thead th{padding:8px 12px;text-align:left;font-size:13px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--glass-border)}._permissionModal_lkmtn_1 .user-list table tbody tr{border-bottom:1px solid var(--glass-border);transition:background .2s ease}._permissionModal_lkmtn_1 .user-list table tbody tr.is-current{opacity:.5}._permissionModal_lkmtn_1 .user-list table tbody tr:hover{background:var(--bg-card-hover)}._permissionModal_lkmtn_1 .user-list table tbody tr td{padding:8px 12px;font-size:13px;color:var(--text);vertical-align:middle}._permissionModal_lkmtn_1 .user-list table tbody tr td .user-name{display:block;font-weight:600;font-size:13px;color:var(--text-bright)}._permissionModal_lkmtn_1 .user-list table tbody tr td .user-id{display:block;font-size:11px;color:var(--text-dim);font-family:var(--font-mono);margin-top:2px}._permissionModal_lkmtn_1 .user-list table tbody tr td .role-badge{display:inline-flex;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px}._permissionModal_lkmtn_1 .user-list table tbody tr td .role-badge.super{background:#ff453a33;color:var(--danger)}._permissionModal_lkmtn_1 .user-list table tbody tr td .role-badge.admin{background:#64d2ff33;color:var(--info)}._permissionModal_lkmtn_1 .user-list table tbody tr td .role-badge.user{background:#8e8ea833;color:var(--text-dim)}._permissionModal_lkmtn_1 .user-list .empty{padding:32px;text-align:center;color:var(--text-dim);font-size:13px}._permissionModal_lkmtn_1 .footer{display:flex;justify-content:center;padding-top:30px}._permissionModal_lkmtn_1 .btn-close{padding:10px 32px;width:100%;background:var(--primary);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:#fff;border:none;cursor:pointer;transition:all .2s ease}._permissionModal_lkmtn_1 .btn-close:hover{opacity:.9}._inviteModal_1gxli_1{padding:32px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}._inviteModal_1gxli_1 h3{color:var(--text);margin-bottom:12px;font-size:17px;font-weight:700}._inviteModal_1gxli_1 .empty-state{display:flex;flex-direction:column;align-items:center;padding:48px 20px}._inviteModal_1gxli_1 .empty-state .deco{font-size:48px;margin-bottom:16px}._inviteModal_1gxli_1 .empty-state p{color:var(--text-dim);font-size:14px;margin:0 0 16px}._inviteModal_1gxli_1 .empty-state .btn-generate{padding:10px 24px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;background:var(--success);color:#fff;border:none;cursor:pointer;transition:all .25s ease}._inviteModal_1gxli_1 .empty-state .btn-generate:hover:not(:disabled){opacity:.9}._inviteModal_1gxli_1 .empty-state .btn-generate:disabled{opacity:.6;cursor:not-allowed}._inviteModal_1gxli_1 .empty-state .tip{display:block;margin-top:10px;font-size:12px;color:var(--text-dim)}._inviteModal_1gxli_1 .latest-code{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:4px;border-radius:var(--radius-sm);background:var(--bg-card-hover);border:1px solid var(--success);transition:all .25s ease}._inviteModal_1gxli_1 .latest-code .badge{padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;color:#fff;background:var(--danger);letter-spacing:.5px;flex-shrink:0}._inviteModal_1gxli_1 .latest-code .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}._inviteModal_1gxli_1 .latest-code .status-dot.status-0{background:var(--success)}._inviteModal_1gxli_1 .latest-code .status-dot.status-1{background:var(--text-dim)}._inviteModal_1gxli_1 .latest-code .status-dot.status-2{background:var(--danger)}._inviteModal_1gxli_1 .latest-code .status-text{font-size:12px;color:var(--text-dim);flex-shrink:0}._inviteModal_1gxli_1 .latest-code .code-text{flex:1;font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--primary);word-break:break-all}._inviteModal_1gxli_1 .latest-code .code-time{font-size:11px;color:var(--text-dim);white-space:nowrap}._inviteModal_1gxli_1 .latest-code .copy-btn{padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;background:var(--success);color:#fff;border:none;cursor:pointer;transition:all .2s ease;flex-shrink:0}._inviteModal_1gxli_1 .latest-code .copy-btn:hover{opacity:.9}._inviteModal_1gxli_1 .code-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;margin-bottom:12px}._inviteModal_1gxli_1 .code-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);transition:all .25s ease}._inviteModal_1gxli_1 .code-item:hover{border-color:var(--primary);background:var(--bg-card-hover)}._inviteModal_1gxli_1 .code-item .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}._inviteModal_1gxli_1 .code-item .status-dot.status-0{background:var(--success)}._inviteModal_1gxli_1 .code-item .status-dot.status-1{background:var(--text-dim)}._inviteModal_1gxli_1 .code-item .status-dot.status-2{background:var(--danger)}._inviteModal_1gxli_1 .code-item .status-text{font-size:12px;color:var(--text-dim);flex-shrink:0}._inviteModal_1gxli_1 .code-item .code-text{flex:1;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text);word-break:break-all}._inviteModal_1gxli_1 .code-item .code-time{font-size:11px;color:var(--text-dim);white-space:nowrap}._inviteModal_1gxli_1 .code-item .copy-btn{padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;background:transparent;color:var(--primary);border:1px solid var(--glass-border);cursor:pointer;transition:all .2s ease;flex-shrink:0}._inviteModal_1gxli_1 .code-item .copy-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}._inviteModal_1gxli_1 .actions{display:flex;gap:12px}._inviteModal_1gxli_1 .actions button{flex:1;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .25s ease}._inviteModal_1gxli_1 .actions button:disabled{opacity:.6;cursor:not-allowed}._inviteModal_1gxli_1 .actions .btn-generate{background:var(--success);color:#fff}._inviteModal_1gxli_1 .actions .btn-generate:hover:not(:disabled){opacity:.9}._inviteModal_1gxli_1 .actions .btn-close{background:var(--primary);color:#fff}._inviteModal_1gxli_1 .actions .btn-close:hover{opacity:.9}._userAvatar_9xyff_1{position:relative;display:flex;align-items:center}._userAvatar_9xyff_1 .avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #0000004d,0 1px #fff3 inset;-webkit-user-select:none;user-select:none}._userAvatar_9xyff_1 .avatar:hover{transform:scale(1.08);box-shadow:0 4px 12px #0006,0 1px #ffffff40 inset}._userAvatar_9xyff_1 .avatar:active{transform:scale(1.02)}._userAvatar_9xyff_1 .user-dropdown{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);overflow:hidden;animation:fadeIn .2s var(--ease-smooth);padding:8px}._userAvatar_9xyff_1 .user-dropdown-item{padding:8px 14px;font-size:13px;color:var(--text);cursor:pointer;transition:all .2s ease;border-radius:var(--radius-sm);font-weight:600;margin-bottom:4px}._userAvatar_9xyff_1 .user-dropdown-item:last-child{margin-bottom:0}._userAvatar_9xyff_1 .user-dropdown-item:hover{background:var(--bg-card-hover);transform:translate(2px)}._userAvatar_9xyff_1 .user-dropdown-item.logout{color:var(--danger);margin-top:4px;border-top:1px solid var(--glass-border);padding-top:12px}._home_7ki9w_1{height:100vh;display:flex;flex-direction:column;padding:12px;gap:8px;box-sizing:border-box}._home_7ki9w_1 .toolbar{width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:0 60px 0 10px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);flex-shrink:0;box-shadow:0 1px 0 var(--glass-highlight) inset;transition:background .3s ease}._home_7ki9w_1 .toolbar .opts{max-width:100%;padding:6px 0;gap:8px;border-radius:var(--radius);display:flex;align-items:center;overflow:auto hidden}._home_7ki9w_1 .toolbar-user{position:absolute;top:50%;transform:translateY(-50%);right:12px}._home_7ki9w_1 .tool-btn{padding:6px 18px;font-size:12px;border-radius:20px;white-space:nowrap;font-weight:600;letter-spacing:.3px;background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:var(--text-bright);border:none;cursor:pointer;transition:all .25s ease;font-family:var(--font);box-shadow:0 1px #ffffff26 inset,0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.15)}._home_7ki9w_1 .tool-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 1px #fff3 inset,0 4px 10px #00000059}._home_7ki9w_1 .tool-btn:active{transform:translateY(0);box-shadow:0 0 #fff0 inset,0 1px 2px #0000004d}._home_7ki9w_1 .build-panel{flex:2;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px 0 var(--glass-highlight) inset,var(--shadow-sm)}._home_7ki9w_1 .panel-title{padding:10px 14px 6px;font-size:13px;font-weight:700;color:var(--text-dim);letter-spacing:.8px;flex-shrink:0}._home_7ki9w_1 .panel-body{flex:1;position:relative;overflow:hidden}._home_7ki9w_1 .scroll-area{height:100%;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px}._home_7ki9w_1 .unread-badge{position:absolute;bottom:10px;right:10px;padding:4px 10px;border-radius:12px;font-size:12px;background:var(--success);color:#fff;cursor:pointer;font-weight:600;box-shadow:0 1px #fff3 inset,var(--shadow-sm);z-index:5;transition:transform .2s ease}._home_7ki9w_1 .unread-badge:hover{transform:scale(1.05)}._home_7ki9w_1 .build-card{flex-shrink:0;width:100%;margin-bottom:8px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);overflow:hidden;animation:fadeIn .35s var(--ease-smooth);transition:background .25s ease,box-shadow .25s ease}._home_7ki9w_1 .build-card:hover{background:var(--bg-card-hover)}._home_7ki9w_1 .build-card-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:#ffffff05;font-size:12px}._home_7ki9w_1 .build-card-header .name{color:var(--success);font-weight:600}._home_7ki9w_1 .build-card-header .branch{color:var(--primary-light);font-weight:600}._home_7ki9w_1 .build-card-header .sep{margin:0 4px;color:var(--text-dim)}._home_7ki9w_1 .build-card-header .time{font-size:11px;color:var(--text-dim)}._home_7ki9w_1 .build-card-body{padding:8px 12px}._home_7ki9w_1 .build-card-body .info-row{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-dim)}._home_7ki9w_1 .build-card-body .info-row a{color:var(--info)}._home_7ki9w_1 .build-card-body .btn-cancel{margin-top:6px;padding:3px 10px;font-size:11px;border-radius:8px;background:linear-gradient(180deg,#FF6B63 0%,var(--danger) 100%);color:#fff;border:none;cursor:pointer;font-family:var(--font);transition:all .2s ease;box-shadow:0 1px #ffffff1f inset,0 1px 3px #00000040}._home_7ki9w_1 .build-card-body .btn-cancel:hover{opacity:.92;transform:translateY(-1px)}._home_7ki9w_1 .build-card-body .btn-cancel:active{transform:translateY(0)}._home_7ki9w_1 .build-card-body .build-log{width:100%;padding:8px 10px;margin-top:8px;background:#00000059;color:#ccc;border-radius:8px;font-size:11px;white-space:break-spaces;max-height:250px;overflow-y:auto;word-break:break-all;line-height:1.5;border:1px solid rgba(255,255,255,.04);margin-bottom:0;font-family:var(--font-mono)}._home_7ki9w_1 .build-card-body .status-tag{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:8px;font-size:11px;font-weight:600}._home_7ki9w_1 .build-card-body .status-tag.status-1{background:var(--info);color:#000;box-shadow:0 1px #ffffff26 inset}._home_7ki9w_1 .build-card-body .status-tag.status-2{background:var(--success);color:#fff;box-shadow:0 1px #ffffff26 inset}._home_7ki9w_1 .build-card-body .status-tag.status-3{background:var(--danger);color:#fff;box-shadow:0 1px #ffffff26 inset}._home_7ki9w_1 .chat-panel{flex:3;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px 0 var(--glass-highlight) inset,var(--shadow-sm)}._home_7ki9w_1 .chat-scroll{height:100%;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;align-items:flex-start}._home_7ki9w_1 .chat-bubble{display:flex;flex-direction:column;margin-bottom:10px;max-width:75%;animation:fadeIn .3s var(--ease-smooth)}._home_7ki9w_1 .chat-bubble.self{align-self:flex-end;align-items:flex-end}._home_7ki9w_1 .chat-bubble .bubble-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}._home_7ki9w_1 .chat-bubble .bubble-header .name{font-size:12px;font-weight:600}._home_7ki9w_1 .chat-bubble .bubble-header .name-other{color:var(--primary-light)}._home_7ki9w_1 .chat-bubble .bubble-header .name-self{color:var(--accent)}._home_7ki9w_1 .chat-bubble .bubble-header .time{font-size:10px;color:var(--text-dim)}._home_7ki9w_1 .chat-bubble .bubble-text{padding:8px 14px;white-space:break-spaces;word-break:break-word;font-size:13px;line-height:1.5;margin:0;font-family:var(--font)}._home_7ki9w_1 .chat-bubble .bubble-text-other{border-radius:18px 18px 18px 4px;background:var(--glass);color:var(--text);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--glass-highlight) inset}._home_7ki9w_1 .chat-bubble .bubble-text-self{border-radius:18px 18px 4px;background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;border:none;box-shadow:0 1px #ffffff26 inset,0 2px 6px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.15)}._home_7ki9w_1 .chat-bubble .bubble-files{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}._home_7ki9w_1 .chat-bubble .bubble-files img,._home_7ki9w_1 .chat-bubble .bubble-files video{width:100px;height:100px;border-radius:10px;object-fit:cover;background:var(--bg-card);cursor:pointer;object-fit:contain;transition:transform .25s ease,box-shadow .25s ease}._home_7ki9w_1 .chat-bubble .bubble-files img:hover,._home_7ki9w_1 .chat-bubble .bubble-files video:hover{transform:scale(1.04);box-shadow:0 4px 16px #0006}._home_7ki9w_1 .command-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--glass-border);flex-shrink:0}._home_7ki9w_1 .command-bar .cmd-btn{padding:4px 12px;font-size:11px;border-radius:14px;border:none;color:var(--text-bright);cursor:pointer;font-family:var(--font);font-weight:500;transition:all .25s ease;box-shadow:0 1px #ffffff1f inset,0 1px 3px #00000040}._home_7ki9w_1 .command-bar .cmd-btn:hover{opacity:.92;transform:translateY(-1px)}._home_7ki9w_1 .command-bar .cmd-btn:active{transform:translateY(0)}._home_7ki9w_1 .command-bar .cmd-build{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary-dark) 100%)}._home_7ki9w_1 .command-bar .cmd-img{background:linear-gradient(180deg,#4ADE80 0%,var(--success) 100%);position:relative}._home_7ki9w_1 .command-bar .file-input-hidden{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}._home_7ki9w_1 .input-area{display:flex;align-items:center;gap:8px;padding:6px 10px 10px;border-top:1px solid var(--glass-border);flex-shrink:0}._home_7ki9w_1 .input-area textarea{flex:1;resize:none;min-height:40px;max-height:100px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);color:var(--text);font-size:13px;line-height:1.5;outline:none;font-family:var(--font);transition:border-color .25s ease,box-shadow .25s ease}._home_7ki9w_1 .input-area textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}._home_7ki9w_1 .input-area .btn-send{width:80px;height:40px;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;line-height:1.3}@media screen and (min-width:1000px){._home_7ki9w_1{flex-direction:row;flex-wrap:wrap;padding:20px 60px 100px;align-content:flex-start}._home_7ki9w_1 .toolbar{width:100%;margin-bottom:8px}._home_7ki9w_1 .build-panel{flex:2;height:100%;margin-right:20px}._home_7ki9w_1 .chat-panel{flex:3;height:100%}}._buildModal_otncv_1 h3{color:var(--text);margin-bottom:16px;font-size:17px;font-weight:700}._buildModal_otncv_1 label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}._buildModal_otncv_1 label .select-count{float:right;font-size:12px;color:var(--primary-light);font-weight:600}._buildModal_otncv_1 .branch-input{width:100%;margin-bottom:16px}._buildModal_otncv_1 .branch-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}._buildModal_otncv_1 .header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}._buildModal_otncv_1 .select-all-btn{padding:4px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--primary-light);cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid var(--glass-border)}._buildModal_otncv_1 .select-all-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}._buildModal_otncv_1 .pkg-grid{display:flex;flex-wrap:wrap;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:20px}._buildModal_otncv_1 .pkg-item{padding:6px 16px;border-radius:20px;font-size:13px;cursor:pointer;font-weight:600;transition:all .25s ease;border:1px solid var(--glass-border);background:var(--glass);color:var(--text)}._buildModal_otncv_1 .pkg-item.active{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;border-color:transparent;box-shadow:0 1px #fff3 inset,0 2px 4px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.15)}._buildModal_otncv_1 .pkg-item:hover:not(.active){background:var(--bg-card-hover)}._buildModal_otncv_1 .btn-build{width:100%;padding:10px;font-size:15px;font-weight:700;border-radius:var(--radius-sm)}._logModal_eochr_1 h3{color:var(--text);margin-bottom:12px;font-size:17px;font-weight:700}._logModal_eochr_1 .tabs{display:flex;gap:4px;padding:3px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);margin-bottom:12px}._logModal_eochr_1 .tab-item{flex:1;padding:8px 16px;border-radius:8px;text-align:center;font-size:13px;cursor:pointer;font-weight:600;background:transparent;color:var(--text-dim);transition:all .25s ease}._logModal_eochr_1 .tab-item.active{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;box-shadow:0 1px #fff3 inset,0 1px 3px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.15)}._logModal_eochr_1 .log-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}._logModal_eochr_1 .log-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);background:var(--glass);color:var(--text);font-size:13px;word-break:break-all;text-decoration:none;border:1px solid var(--glass-border);transition:all .25s ease}._logModal_eochr_1 .log-item .log-name{flex:1;min-width:0}._logModal_eochr_1 .log-item .log-link-icon{flex-shrink:0;font-size:12px;color:var(--text-dim);opacity:0;transition:opacity .2s ease}._logModal_eochr_1 .log-item:hover{border-color:var(--primary);background:var(--bg-card-hover)}._logModal_eochr_1 .log-item:hover .log-link-icon{opacity:1}._logModal_eochr_1 .empty{color:var(--text-dim);text-align:center;padding:20px}._listModal_1td0z_1 h3{color:var(--text);margin-bottom:12px;font-size:17px;font-weight:700}._listModal_1td0z_1 .list-items{display:flex;flex-direction:column;gap:6px}._listModal_1td0z_1 .list-item{padding:10px 14px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;font-size:13px;font-weight:600;word-break:break-all;color:var(--text);transition:all .25s ease;display:flex;align-items:center;gap:8px}._listModal_1td0z_1 .list-item:hover{border-color:var(--primary);background:var(--bg-card-hover);transform:translate(2px)}._listModal_1td0z_1 .list-item .folder-icon{font-size:14px;flex-shrink:0}._listModal_1td0z_1 .list-item .branch-master{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:var(--danger);letter-spacing:.5px;flex-shrink:0}._listModal_1td0z_1 .list-item .branch-other{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:var(--success);letter-spacing:.5px;flex-shrink:0}._listModal_1td0z_1 .list-item .sep{margin:0 6px;color:var(--text-dim);flex-shrink:0}._listModal_1td0z_1 .empty{color:var(--text-dim);text-align:center;padding:20px}._login_qbk6z_1{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}._login_qbk6z_1:before{content:"";position:absolute;top:45%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(10,132,255,.06) 0%,rgba(94,92,230,.03) 40%,transparent 70%);pointer-events:none}@keyframes _gradientShift_qbk6z_1{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}._login_qbk6z_1 .login-card{width:min(400px,90vw);padding:32px 28px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:0 1px 0 var(--glass-highlight) inset,var(--shadow);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);animation:slideUp .45s var(--ease-smooth);position:relative;z-index:1}._login_qbk6z_1 .login-logo{text-align:center;margin-bottom:24px}._login_qbk6z_1 .login-logo .icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;margin-bottom:12px;box-shadow:0 1px #fff3 inset,0 4px 12px #0a84ff40}._login_qbk6z_1 .login-logo h1{font-size:20px;font-weight:700;color:var(--text-bright);margin:0}._login_qbk6z_1 .login-logo p{font-size:13px;color:var(--text-dim);margin-top:4px}._login_qbk6z_1 .tab-bar{display:flex;gap:4px;padding:3px;border-radius:24px;background:var(--glass);border:1px solid var(--glass-border);margin-bottom:20px}._login_qbk6z_1 .tab-item{flex:1;padding:8px 0;text-align:center;border-radius:20px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s var(--ease-smooth);color:var(--text-dim)}._login_qbk6z_1 .tab-item.active{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;box-shadow:0 1px #fff3 inset,0 2px 6px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.15)}._login_qbk6z_1 .form{display:flex;flex-direction:column;gap:14px}._login_qbk6z_1 .form .field label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:4px}._login_qbk6z_1 .form .field input{width:100%}._login_qbk6z_1 .form .btn-submit{width:100%;padding:10px;font-size:15px;font-weight:700;border-radius:24px;background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);margin-top:8px;color:var(--text-bright);border:none;cursor:pointer;font-family:var(--font);transition:all .25s ease;box-shadow:0 1px #fff3 inset,0 2px 8px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.15)}._login_qbk6z_1 .form .btn-submit:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 1px #ffffff40 inset,0 4px 14px #00000059}._login_qbk6z_1 .form .btn-submit:active{transform:translateY(0);box-shadow:0 0 #fff0 inset,0 1px 3px #0000004d}._login_qbk6z_1 .form .switch-hint{text-align:center;font-size:13px;color:var(--text-dim)}._login_qbk6z_1 .form .switch-hint a{color:var(--primary-light);cursor:pointer;font-weight:600;text-decoration:none;transition:color .2s ease}._login_qbk6z_1 .form .switch-hint a:hover{text-decoration:underline}:root{--primary: #0A84FF;--primary-light: #409CFF;--primary-dark: #0070E0;--accent: #5E5CE6;--danger: #FF453A;--success: #30D158;--warning: #FFD60A;--info: #64D2FF;--bg: #0a0a12;--bg-card: rgba(30, 30, 50, .45);--bg-card-hover: rgba(40, 40, 65, .55);--bg-input: rgba(255, 255, 255, .05);--bg-overlay: rgba(0, 0, 0, .45);--glass: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .12);--glass-highlight: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--border-focus: rgba(10, 132, 255, .45);--text: #f0f0f8;--text-dim: #8e8ea8;--text-bright: #ffffff;--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 0 .5px rgba(255,255,255,.06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--transition: all .25s cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}a{color:var(--primary-light);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font);font-size:13px;outline:none;transition:border-color .25s ease,box-shadow .25s ease}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}button{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary) 100%);color:var(--text-bright);border:none;border-radius:var(--radius-sm);padding:8px 20px;font-family:var(--font);font-size:13px;cursor:pointer;transition:all .2s ease;font-weight:500;box-shadow:0 1px #ffffff26 inset,0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.2)}button:hover{background:linear-gradient(180deg,lighten(#409CFF,4%) 0%,lighten(#0A84FF,4%) 100%);transform:translateY(-1px);box-shadow:0 1px #fff3 inset,0 4px 12px #00000059}button:active{transform:translateY(0);box-shadow:0 0 #fff0 inset,0 1px 2px #0000004d}button:disabled{opacity:.4;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Build System</title>
7
+ <script type="module" crossorigin src="/static/web/assets/index-BzSDdMyu.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/static/web/assets/index-DptBjpyJ.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
package/dist/types.js ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 公共类型定义 – 构建任务调度、包管理器、消息、数据库等类型统一导出
3
+ */
4
+ /** 构建任务状态 */
5
+ export var BuildStatus;
6
+ (function (BuildStatus) {
7
+ BuildStatus[BuildStatus["Pending"] = 0] = "Pending";
8
+ BuildStatus[BuildStatus["InProgress"] = 1] = "InProgress";
9
+ BuildStatus[BuildStatus["Success"] = 2] = "Success";
10
+ BuildStatus[BuildStatus["Failed"] = 3] = "Failed";
11
+ })(BuildStatus || (BuildStatus = {}));
12
+ /** 任务执行状态 */
13
+ export var TaskStatus;
14
+ (function (TaskStatus) {
15
+ TaskStatus["Pending"] = "pending";
16
+ TaskStatus["InProgress"] = "in_progress";
17
+ TaskStatus["Success"] = "success";
18
+ TaskStatus["Failed"] = "failed";
19
+ })(TaskStatus || (TaskStatus = {}));
20
+ /** 用于日志文件名的安全字符替换 */
21
+ export const sanitizePath = (p) => p.replace(/[/\\]/g, '>');
22
+ /** ID 前缀枚举 */
23
+ export var IdType;
24
+ (function (IdType) {
25
+ IdType["T"] = "T";
26
+ IdType["M"] = "M";
27
+ IdType["TM"] = "TM";
28
+ })(IdType || (IdType = {}));
29
+ /** 格式化消息,自动附加 type 字段 */
30
+ export function formatMsg(val, data) {
31
+ return Object.assign(Object.assign({}, data), { type: val });
32
+ }
33
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH,aAAa;AACb,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,yDAAc,CAAA;IACd,mDAAW,CAAA;IACX,iDAAU,CAAA;AACZ,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAwBD,aAAa;AACb,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,wCAA0B,CAAA;IAC1B,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AA+BnE,cAAc;AACd,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,iBAAS,CAAA;IACT,iBAAS,CAAA;IACT,mBAAW,CAAA;AACb,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB;AAED,yBAAyB;AACzB,MAAM,UAAU,SAAS,CAAsB,GAAM,EAAE,IAA0B;IAC/E,OAAO,gCACF,IAAI,KACP,IAAI,EAAE,GAAG,GACA,CAAA;AACb,CAAC"}
package/dist/utils.js ADDED
@@ -0,0 +1,66 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ /**
13
+ * 通用工具函数 – 异步 exec/spawn 包装
14
+ */
15
+ import { exec, spawn } from 'node:child_process';
16
+ import { promisify } from 'node:util';
17
+ import dayjs from 'dayjs';
18
+ export const execPms = promisify(exec);
19
+ /** Promise 包装的 spawn,支持 onMessage 回调和 abort signal */
20
+ export function spawnPms(command, args, options) {
21
+ return new Promise((resolve, reject) => {
22
+ const { onMessage } = options, spawnOpts = __rest(options, ["onMessage"]);
23
+ const child = spawn(command, args, spawnOpts);
24
+ child.stdout.on('data', (data) => {
25
+ const msg = data.toString();
26
+ if (onMessage) {
27
+ onMessage(msg);
28
+ return;
29
+ }
30
+ console.log(msg);
31
+ });
32
+ child.stderr.on('data', (data) => {
33
+ const msg = data.toString();
34
+ if (onMessage) {
35
+ onMessage(msg);
36
+ return;
37
+ }
38
+ console.log(msg);
39
+ });
40
+ child.on('close', (code, signal) => {
41
+ if (code === 0) {
42
+ resolve();
43
+ }
44
+ else {
45
+ reject(new Error(`code: ${code} signal: ${signal}`));
46
+ }
47
+ });
48
+ child.on('error', (err) => {
49
+ if (onMessage) {
50
+ onMessage(err.message);
51
+ return;
52
+ }
53
+ console.log(err);
54
+ });
55
+ });
56
+ }
57
+ /** 格式化时间(基于 dayjs,与项目全局一致) */
58
+ export const getFormatTime = (t = +Date.now(), format = 'YYYY-MM-DD HH:mm:ss') => {
59
+ return dayjs(t).format(format);
60
+ };
61
+ /** 移除 BuildTask 中不可序列化的字段,用于 API 响应 */
62
+ export const toSafeBuildTask = (task) => {
63
+ const { abortController } = task, rest = __rest(task, ["abortController"]);
64
+ return rest;
65
+ };
66
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAA4B,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AAMtC,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAc,EAAE,OAAqB;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,SAAS,KAAmB,OAAO,EAArB,SAAS,UAAK,OAAO,EAArC,aAA2B,CAAU,CAAA;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAC7C,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC3B,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,CAAA;gBACd,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC3B,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,CAAA;gBACd,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACtB,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,qBAAqB,EAAU,EAAE;IACtG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC,CAAA;AAED,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAoE,EAAE;IACnH,MAAM,EAAE,eAAe,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAAnC,mBAA4B,CAAO,CAAA;IACzC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}