nx 19.0.0-beta.6 → 19.0.0-beta.8

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.
@@ -1,3 +1,3 @@
1
1
  /*! purgecss start ignore */html{--interactive-muted:#94a3b8}.dark{--interactive-muted:#64748b}.hljs .hljs-comment,.hljs .hljs-quote{color:var(--interactive-muted)}.hljs .hljs-addition,.hljs .hljs-keyword,.hljs .hljs-selector-tag{color:#859900}.hljs .hljs-doctag,.hljs .hljs-literal,.hljs .hljs-meta .hljs .hljs-meta-string,.hljs .hljs-number,.hljs .hljs-regexp,.hljs .hljs-string{color:#2aa198}.hljs .hljs-name,.hljs .hljs-section,.hljs .hljs-selector-class,.hljs .hljs-selector-id,.hljs .hljs-title{color:#268bd2}.hljs .hljs-attr,.hljs .hljs-attribute,.hljs .hljs-class .hljs .hljs-title,.hljs .hljs-template-variable,.hljs .hljs-type,.hljs .hljs-variable{color:#b58900}.hljs .hljs-bullet,.hljs .hljs-link,.hljs .hljs-meta,.hljs .hljs-meta .hljs .hljs-keyword,.hljs .hljs-selector-attr,.hljs .hljs-selector-pseudo,.hljs .hljs-subst,.hljs .hljs-symbol{color:#cb4b16}.hljs .hljs-built_in,.hljs .hljs-deletion{color:#dc322f}.hljs .hljs-formula{background:#073642}.hljs .hljs-emphasis{font-style:italic}.hljs .hljs-strong{font-weight:700}.linenumber{background:#e5e7eb;border-color:#3b82f6}html.dark .linenumber{background:#e5e7eb33}
2
2
  /*! purgecss end ignore */.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-multiselect,.form-select,.form-textarea{--tw-shadow:0 0 #0000;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}
3
- /*! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{bottom:0;top:0}.top-5{top:1.25rem}.left-5{left:1.25rem}.bottom-4{bottom:1rem}.right-4{right:1rem}.top-1\/2{top:50%}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-24{top:6rem}.top-2{top:.5rem}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-2{bottom:.5rem}.right-1\/2{right:50%}.top-0{top:0}.z-50{z-index:50}.z-0{z-index:0}.z-20{z-index:20}.z-10{z-index:10}.-z-10{z-index:-10}.mx-4{margin-left:1rem;margin-right:1rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-3{margin-top:.75rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.-mt-3{margin-top:-.75rem}.-ml-3{margin-left:-.75rem}.mr-1{margin-right:.25rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.ml-3{margin-left:.75rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.-mt-1{margin-top:-.25rem}.-ml-1{margin-left:-.25rem}.mb-3{margin-bottom:.75rem}.mr-3{margin-right:.75rem}.mb-8{margin-bottom:2rem}.mb-2{margin-bottom:.5rem}.ml-5{margin-left:1.25rem}.ml-4{margin-left:1rem}.mb-1{margin-bottom:.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-screen{height:100vh}.h-full{height:100%}.h-10{height:2.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-16{height:4rem}.h-5{height:1.25rem}.h-max{height:max-content}.h-auto{height:auto}.h-8{height:2rem}.h-3{height:.75rem}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.w-screen{width:100vw}.w-72{width:18rem}.w-auto{width:auto}.w-4{width:1rem}.w-full{width:100%}.w-6{width:1.5rem}.w-16{width:4rem}.w-5{width:1.25rem}.w-1\/3{width:33.333333%}.w-36{width:9rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-3{width:.75rem}.min-w-\[350px\]{min-width:350px}.min-w-\[250px\]{min-width:250px}.min-w-0{min-width:0}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1 0%}.flex-grow,.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.translate-x-32{--tw-translate-x:8rem}.rotate-45,.translate-x-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-text{cursor:text}.\!cursor-pointer{cursor:pointer!important}.cursor-help{cursor:help}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.gap-4{gap:1rem}.gap-2{gap:.5rem}.gap-1{gap:.25rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded{border-radius:.25rem}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.border-2{border-width:2px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r-0{border-right-width:0}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-slate-900\/10{border-color:rgba(15,23,42,.1)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-400\/10{border-color:rgba(148,163,184,.1)}.border-slate-200\/10{border-color:rgba(226,232,240,.1)}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.bg-slate-400\/10{background-color:rgba(148,163,184,.1)}.bg-green-400\/10{background-color:rgba(74,222,128,.1)}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-1\.5{padding:.375rem}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-10{padding-bottom:2.5rem}.pl-2{padding-left:.5rem}.pr-6{padding-right:1.5rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pl-4{padding-left:1rem}.pr-8{padding-right:2rem}.pr-4{padding-right:1rem}.pl-5{padding-left:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-light{font-weight:300}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-4{line-height:1rem}.tracking-wide{letter-spacing:.025em}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-slate-700\/50{text-decoration-color:rgba(51,65,85,.5)}.decoration-dotted{text-decoration-style:dotted}.decoration-2{text-decoration-thickness:2px}.underline-offset-8{text-underline-offset:8px}.accent-blue-500{accent-color:#3b82f6}.accent-purple-500{accent-color:#a855f7}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-10{opacity:.1}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-slate-900\/10{--tw-ring-color:rgba(15,23,42,.1)}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity))}.ring-slate-400\/40{--tw-ring-color:rgba(148,163,184,.4)}.ring-green-500\/40{--tw-ring-color:rgba(34,197,94,.4)}.ring-yellow-500\/40{--tw-ring-color:rgba(234,179,8,.4)}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-200{transition-duration:.2s}.duration-100{transition-duration:.1s}.duration-75{transition-duration:75ms}.duration-150{transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.dark{color-scheme:dark}[data-tooltip]{position:relative}[data-tooltip]:before{background-color:#0b1a2d;border-radius:.375rem;color:#f2f2f2;content:attr(data-tooltip);left:0;opacity:0;padding:.25rem .5rem;position:absolute;text-align:center;text-transform:capitalize;top:120%;transition:opacity .15s ease-out;visibility:hidden;width:max-content;z-index:1}[data-tooltip][data-tooltip-align-right]:before{left:auto;right:0}[data-tooltip]:hover:before{opacity:1;visibility:visible}.placeholder\:font-light::placeholder{font-weight:300}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-white:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.focus-visible\:ring-opacity-75:focus-visible{--tw-ring-opacity:0.75}.group:hover .group-hover\:inline{display:inline}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:opacity-100,.group\/line:hover .group-hover\/line\:opacity-100{opacity:1}.dark .dark\:divide-slate-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(30 41 59/var(--tw-divide-opacity))}.dark .dark\:border-slate-300\/10{border-color:rgba(203,213,225,.1)}.dark .dark\:border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.dark .dark\:border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}.dark .dark\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.dark .dark\:border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}.dark .dark\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.dark .dark\:border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.dark .dark\:border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}.dark .dark\:border-slate-700\/60{border-color:rgba(51,65,85,.6)}.dark .dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.dark .dark\:bg-transparent{background-color:transparent}.dark .dark\:bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.dark .dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark .dark\:bg-\[\#0B1221\]{--tw-bg-opacity:1;background-color:rgb(11 18 33/var(--tw-bg-opacity))}.dark .dark\:bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}.dark .dark\:bg-slate-600\/30{background-color:rgba(71,85,105,.3)}.dark .dark\:bg-green-500\/10{background-color:rgba(34,197,94,.1)}.dark .dark\:bg-yellow-900\/30{background-color:rgba(113,63,18,.3)}.dark .dark\:bg-slate-800\/60{background-color:rgba(30,41,59,.6)}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.dark .dark\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.dark .dark\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.dark .dark\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.dark .dark\:text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}.dark .dark\:text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.dark .dark\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:decoration-slate-400\/50{text-decoration-color:rgba(148,163,184,.5)}.dark .dark\:accent-sky-500{accent-color:#0ea5e9}.dark .dark\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.dark .dark\:ring-slate-300\/10{--tw-ring-color:rgba(203,213,225,.1)}.dark .dark\:ring-slate-600{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity))}.dark .dark\:ring-sky-500{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.dark .dark\:ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity))}.dark .dark\:ring-slate-400\/30{--tw-ring-color:rgba(148,163,184,.3)}.dark .dark\:ring-green-500\/20{--tw-ring-color:rgba(34,197,94,.2)}.dark .dark\:ring-yellow-500\/20{--tw-ring-color:rgba(234,179,8,.2)}.dark .hover\:dark\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.dark .hover\:dark\:bg-fuchsia-600:hover{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-slate-800\/60:hover{background-color:rgba(30,41,59,.6)}.dark .dark\:hover\:bg-slate-700\/60:hover{background-color:rgba(51,65,85,.6)}@media (min-width:640px){.sm\:max-w-full{max-width:100%}}@media (min-width:1024px){.lg\:text-xs{font-size:.75rem;line-height:1rem}}
3
+ /*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{bottom:0;top:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-5{left:1.25rem}.right-0{right:0}.right-1{right:.25rem}.right-1\/2{right:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-5{top:1.25rem}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.-ml-1{margin-left:-.25rem}.-ml-3{margin-left:-.75rem}.-mt-1{margin-top:-.25rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-max{height:max-content}.h-screen{height:100vh}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[250px\]{min-width:250px}.min-w-\[350px\]{min-width:350px}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-grow,.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.translate-x-32{--tw-translate-x:8rem}.rotate-45,.translate-x-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.\!cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-200\/10{border-color:rgba(226,232,240,.1)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-400\/10{border-color:rgba(148,163,184,.1)}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}.border-slate-900\/10{border-color:rgba(15,23,42,.1)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-green-400\/10{background-color:rgba(74,222,128,.1)}.bg-inherit{background-color:inherit}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.bg-slate-400\/10{background-color:rgba(148,163,184,.1)}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-4{line-height:1rem}.tracking-wide{letter-spacing:.025em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-slate-700\/50{text-decoration-color:rgba(51,65,85,.5)}.decoration-dotted{text-decoration-style:dotted}.decoration-2{text-decoration-thickness:2px}.underline-offset-8{text-underline-offset:8px}.accent-blue-500{accent-color:#3b82f6}.accent-purple-500{accent-color:#a855f7}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-green-500\/40{--tw-ring-color:rgba(34,197,94,.4)}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity))}.ring-slate-400\/40{--tw-ring-color:rgba(148,163,184,.4)}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity))}.ring-slate-900\/10{--tw-ring-color:rgba(15,23,42,.1)}.ring-yellow-500\/40{--tw-ring-color:rgba(234,179,8,.4)}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.dark{color-scheme:dark}[data-tooltip]{position:relative}[data-tooltip]:before{background-color:#0b1a2d;border-radius:.375rem;color:#f2f2f2;content:attr(data-tooltip);left:0;opacity:0;padding:.25rem .5rem;position:absolute;text-align:center;text-transform:capitalize;top:120%;transition:opacity .15s ease-out;visibility:hidden;width:max-content;z-index:1}[data-tooltip][data-tooltip-align-right]:before{left:auto;right:0}[data-tooltip]:hover:before{opacity:1;visibility:visible}html.dark .adaptive-icon{filter:invert(1)}.adaptive-icon{fill:#000}.placeholder\:font-light::placeholder{font-weight:300}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-white:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.focus-visible\:ring-opacity-75:focus-visible{--tw-ring-opacity:0.75}.group:hover .group-hover\:inline{display:inline}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100,.group\/line:hover .group-hover\/line\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-60{opacity:.6}.dark\:divide-slate-800:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(30 41 59/var(--tw-divide-opacity))}.dark\:border-fuchsia-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}.dark\:border-purple-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}.dark\:border-sky-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.dark\:border-slate-300\/10:is(.dark *){border-color:rgba(203,213,225,.1)}.dark\:border-slate-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.dark\:border-slate-700\/60:is(.dark *){border-color:rgba(51,65,85,.6)}.dark\:border-slate-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.dark\:border-slate-900:is(.dark *){--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}.dark\:bg-\[\#0B1221\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(11 18 33/var(--tw-bg-opacity))}.dark\:bg-fuchsia-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-green-500\/10:is(.dark *){background-color:rgba(34,197,94,.1)}.dark\:bg-sky-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.dark\:bg-slate-50:is(.dark *){--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.dark\:bg-slate-600\/30:is(.dark *){background-color:rgba(71,85,105,.3)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark\:text-sky-500:is(.dark *){--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.dark\:text-slate-800:is(.dark *){--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.dark\:decoration-slate-400\/50:is(.dark *){text-decoration-color:rgba(148,163,184,.5)}.dark\:accent-sky-500:is(.dark *){accent-color:#0ea5e9}.dark\:ring-0:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.dark\:ring-green-500\/20:is(.dark *){--tw-ring-color:rgba(34,197,94,.2)}.dark\:ring-sky-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.dark\:ring-slate-300\/10:is(.dark *){--tw-ring-color:rgba(203,213,225,.1)}.dark\:ring-slate-400\/30:is(.dark *){--tw-ring-color:rgba(148,163,184,.3)}.dark\:ring-slate-600:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity))}.dark\:ring-slate-700:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity))}.dark\:ring-yellow-500\/20:is(.dark *){--tw-ring-color:rgba(234,179,8,.2)}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.dark\:hover\:bg-slate-700\/60:hover:is(.dark *){background-color:rgba(51,65,85,.6)}.dark\:hover\:bg-slate-800\/60:hover:is(.dark *){background-color:rgba(30,41,59,.6)}.hover\:dark\:bg-fuchsia-600:is(.dark *):hover{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}.hover\:dark\:bg-slate-700:is(.dark *):hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}@media (min-width:640px){.sm\:max-w-full{max-width:100%}}@media (min-width:1024px){.lg\:text-xs{font-size:.75rem;line-height:1rem}}
@@ -2,7 +2,6 @@
2
2
  /// <reference types="node" />
3
3
  import { ChildProcess } from 'child_process';
4
4
  import { FileData, ProjectGraph } from '../../config/project-graph';
5
- import { NxJsonConfiguration } from '../../config/nx-json';
6
5
  import { Hash } from '../../hasher/task-hasher';
7
6
  import { Task, TaskGraph } from '../../config/task-graph';
8
7
  import { ConfigurationSourceMaps } from '../../project-graph/utils/project-configuration-utils';
@@ -13,7 +12,7 @@ export type ChangedFile = {
13
12
  };
14
13
  export declare class DaemonClient {
15
14
  private readonly nxJson;
16
- constructor(nxJson: NxJsonConfiguration);
15
+ constructor();
17
16
  private queue;
18
17
  private socketMessenger;
19
18
  private currentMessage;
@@ -30,20 +30,25 @@ var DaemonStatus;
30
30
  DaemonStatus[DaemonStatus["CONNECTED"] = 2] = "CONNECTED";
31
31
  })(DaemonStatus || (DaemonStatus = {}));
32
32
  class DaemonClient {
33
- constructor(nxJson) {
34
- this.nxJson = nxJson;
33
+ constructor() {
35
34
  this._daemonStatus = DaemonStatus.DISCONNECTED;
36
35
  this._waitForDaemonReady = null;
37
36
  this._daemonReady = null;
38
37
  this._out = null;
39
38
  this._err = null;
39
+ try {
40
+ this.nxJson = (0, configuration_1.readNxJson)();
41
+ }
42
+ catch (e) {
43
+ this.nxJson = null;
44
+ }
40
45
  this.reset();
41
46
  }
42
47
  enabled() {
43
48
  if (this._enabled === undefined) {
44
49
  // TODO(v19): Add migration to move it out of existing configs and remove the ?? here.
45
- const useDaemonProcessOption = this.nxJson.useDaemonProcess ??
46
- this.nxJson.tasksRunnerOptions?.['default']?.options?.useDaemonProcess;
50
+ const useDaemonProcessOption = this.nxJson?.useDaemonProcess ??
51
+ this.nxJson?.tasksRunnerOptions?.['default']?.options?.useDaemonProcess;
47
52
  const env = process.env.NX_DAEMON;
48
53
  // env takes precedence
49
54
  // option=true,env=false => no daemon
@@ -329,7 +334,7 @@ class DaemonClient {
329
334
  }
330
335
  }
331
336
  exports.DaemonClient = DaemonClient;
332
- exports.daemonClient = new DaemonClient((0, configuration_1.readNxJson)());
337
+ exports.daemonClient = new DaemonClient();
333
338
  function isDocker() {
334
339
  try {
335
340
  (0, fs_1.statSync)('/.dockerenv');
@@ -6,6 +6,7 @@ const logger_1 = require("./logger");
6
6
  const socket_utils_1 = require("../socket-utils");
7
7
  const cache_1 = require("../cache");
8
8
  const plugins_1 = require("./plugins");
9
+ const error_types_1 = require("../../project-graph/error-types");
9
10
  exports.SERVER_INACTIVITY_TIMEOUT_MS = 10800000; // 10800000 ms = 3 hours
10
11
  let watcherInstance;
11
12
  function storeWatcherInstance(instance) {
@@ -69,9 +70,13 @@ function respondToClient(socket, response, description) {
69
70
  }
70
71
  exports.respondToClient = respondToClient;
71
72
  async function respondWithErrorAndExit(socket, description, error) {
73
+ const normalizedError = error instanceof error_types_1.DaemonProjectGraphError
74
+ ? error_types_1.ProjectGraphError.fromDaemonProjectGraphError(error)
75
+ : error;
72
76
  // print some extra stuff in the error message
73
- logger_1.serverLogger.requestLog(`Responding to the client with an error.`, description, error.message);
74
- console.error(error.stack);
77
+ logger_1.serverLogger.requestLog(`Responding to the client with an error.`, description, normalizedError.message);
78
+ console.error(normalizedError.stack);
79
+ // Respond with the original error
75
80
  await respondToClient(socket, (0, socket_utils_1.serializeResult)(error, null, null), null);
76
81
  }
77
82
  exports.respondWithErrorAndExit = respondWithErrorAndExit;
@@ -15,7 +15,7 @@ const tmp_1 = require("tmp");
15
15
  const workspace_root_1 = require("../utils/workspace-root");
16
16
  exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE = (0, path_1.join)(cache_directory_1.projectGraphCacheDirectory, 'd');
17
17
  exports.DAEMON_OUTPUT_LOG_FILE = (0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE, 'daemon.log');
18
- exports.socketDir = process.env.NX_DAEMON_SOCKET_DIR || createSocketDir();
18
+ exports.socketDir = createSocketDir();
19
19
  exports.DAEMON_SOCKET_PATH = (0, path_1.join)(exports.socketDir,
20
20
  // As per notes above on socket/named pipe length limitations, we keep this intentionally short
21
21
  'd.sock');
@@ -51,7 +51,7 @@ function socketDirName() {
51
51
  */
52
52
  function createSocketDir() {
53
53
  try {
54
- const dir = socketDirName();
54
+ const dir = process.env.NX_DAEMON_SOCKET_DIR ?? socketDirName();
55
55
  (0, fs_extra_1.ensureDirSync)(dir);
56
56
  return dir;
57
57
  }
@@ -28,6 +28,7 @@ export interface RunCommandsOptions extends Json {
28
28
  __unparsed__: string[];
29
29
  usePty?: boolean;
30
30
  streamOutput?: boolean;
31
+ tty?: boolean;
31
32
  }
32
33
  export interface NormalizedRunCommandsOptions extends RunCommandsOptions {
33
34
  commands: {
@@ -40,6 +40,7 @@ const propKeys = [
40
40
  'streamOutput',
41
41
  'verbose',
42
42
  'forwardAllArgs',
43
+ 'tty',
43
44
  ];
44
45
  async function default_1(options, context) {
45
46
  registerProcessListener();
@@ -67,7 +68,7 @@ async function default_1(options, context) {
67
68
  }
68
69
  exports.default = default_1;
69
70
  async function runInParallel(options, context) {
70
- const procs = options.commands.map((c) => createProcess(null, c, options.readyWhen, options.color, calculateCwd(options.cwd, context), options.env ?? {}, true, options.usePty, options.streamOutput).then((result) => ({
71
+ const procs = options.commands.map((c) => createProcess(null, c, options.readyWhen, options.color, calculateCwd(options.cwd, context), options.env ?? {}, true, options.usePty, options.streamOutput, options.tty).then((result) => ({
71
72
  result,
72
73
  command: c.command,
73
74
  })));
@@ -144,7 +145,7 @@ async function runSerially(options, context) {
144
145
  pseudoTerminal ??= pseudo_terminal_1.PseudoTerminal.isSupported() ? (0, pseudo_terminal_1.getPseudoTerminal)() : null;
145
146
  let terminalOutput = '';
146
147
  for (const c of options.commands) {
147
- const result = await createProcess(pseudoTerminal, c, undefined, options.color, calculateCwd(options.cwd, context), options.env ?? {}, false, options.usePty, options.streamOutput);
148
+ const result = await createProcess(pseudoTerminal, c, undefined, options.color, calculateCwd(options.cwd, context), options.env ?? {}, false, options.usePty, options.streamOutput, options.tty);
148
149
  terminalOutput += result.terminalOutput;
149
150
  if (!result.success) {
150
151
  const output = `Warning: command "${c.command}" exited with non-zero status code`;
@@ -157,7 +158,7 @@ async function runSerially(options, context) {
157
158
  }
158
159
  return { success: true, terminalOutput };
159
160
  }
160
- async function createProcess(pseudoTerminal, commandConfig, readyWhen, color, cwd, env, isParallel, usePty = true, streamOutput = true) {
161
+ async function createProcess(pseudoTerminal, commandConfig, readyWhen, color, cwd, env, isParallel, usePty = true, streamOutput = true, tty) {
161
162
  env = processEnv(color, cwd, env);
162
163
  // The rust runCommand is always a tty, so it will not look nice in parallel and if we need prefixes
163
164
  // currently does not work properly in windows
@@ -174,6 +175,7 @@ async function createProcess(pseudoTerminal, commandConfig, readyWhen, color, cw
174
175
  cwd,
175
176
  jsEnv: env,
176
177
  quiet: !streamOutput,
178
+ tty,
177
179
  });
178
180
  childProcesses.add(cp);
179
181
  return new Promise((res) => {
@@ -100,8 +100,15 @@
100
100
  },
101
101
  "args": {
102
102
  "oneOf": [
103
- { "type": "array", "items": { "type": "string" } },
104
- { "type": "string" }
103
+ {
104
+ "type": "array",
105
+ "items": {
106
+ "type": "string"
107
+ }
108
+ },
109
+ {
110
+ "type": "string"
111
+ }
105
112
  ],
106
113
  "description": "Extra arguments. You can pass them as follows: nx run project:target --args='--wait=100'. You can then use {args.wait} syntax to interpolate them in the workspace config file. See example [above](#chaining-commands-interpolating-args-and-setting-the-cwd)"
107
114
  },
@@ -140,6 +147,11 @@
140
147
  "type": "boolean",
141
148
  "description": "Whether arguments should be forwarded when interpolation is not present.",
142
149
  "default": true
150
+ },
151
+ "tty": {
152
+ "type": "boolean",
153
+ "description": "Whether commands should be run with a tty terminal",
154
+ "hidden": true
143
155
  }
144
156
  },
145
157
  "additionalProperties": true,
@@ -2,11 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTreeWithEmptyV1Workspace = exports.createTreeWithEmptyWorkspace = void 0;
4
4
  const tree_1 = require("../tree");
5
+ const workspace_root_1 = require("../../utils/workspace-root");
5
6
  /**
6
7
  * Creates a host for testing.
7
8
  */
8
9
  function createTreeWithEmptyWorkspace(opts = {}) {
9
10
  const tree = new tree_1.FsTree('/virtual', false);
11
+ // Our unit tests are all written as though they are at the root of a workspace
12
+ // However, when they are run in a subdirectory of the workspaceRoot,
13
+ // the relative path between workspaceRoot and the directory the tests are run
14
+ // is prepended to the paths created in the virtual tree.
15
+ // Setting this envVar to workspaceRoot prevents this behaviour
16
+ process.env.INIT_CWD = workspace_root_1.workspaceRoot;
10
17
  return addCommonFiles(tree, opts.layout === 'apps-libs');
11
18
  }
12
19
  exports.createTreeWithEmptyWorkspace = createTreeWithEmptyWorkspace;
@@ -150,7 +150,7 @@ export class ChildProcess {
150
150
  }
151
151
  export class RustPseudoTerminal {
152
152
  constructor()
153
- runCommand(command: string, commandDir?: string | undefined | null, jsEnv?: Record<string, string> | undefined | null, quiet?: boolean | undefined | null): ChildProcess
153
+ runCommand(command: string, commandDir?: string | undefined | null, jsEnv?: Record<string, string> | undefined | null, quiet?: boolean | undefined | null, tty?: boolean | undefined | null): ChildProcess
154
154
  /**
155
155
  * This allows us to run a pseudoterminal with a fake node ipc channel
156
156
  * this makes it possible to be backwards compatible with the old implementation
@@ -33,39 +33,127 @@ function getPnpmLockfileDependencies(lockFileContent, lockFileHash, ctx) {
33
33
  return getDependencies(data, keyMap, isV6, ctx);
34
34
  }
35
35
  exports.getPnpmLockfileDependencies = getPnpmLockfileDependencies;
36
+ function matchPropValue(record, key, originalPackageName) {
37
+ if (!record) {
38
+ return undefined;
39
+ }
40
+ const index = Object.values(record).findIndex((version) => version === key);
41
+ if (index > -1) {
42
+ return Object.keys(record)[index];
43
+ }
44
+ // check if non-aliased name is found
45
+ if (record[originalPackageName] &&
46
+ key.startsWith(`/${originalPackageName}/${record[originalPackageName]}`)) {
47
+ return originalPackageName;
48
+ }
49
+ }
50
+ function matchedDependencyName(importer, key, originalPackageName) {
51
+ return (matchPropValue(importer.dependencies, key, originalPackageName) ||
52
+ matchPropValue(importer.optionalDependencies, key, originalPackageName) ||
53
+ matchPropValue(importer.peerDependencies, key, originalPackageName));
54
+ }
55
+ function createHashFromSnapshot(snapshot) {
56
+ return (snapshot.resolution?.['integrity'] ||
57
+ (snapshot.resolution?.['tarball']
58
+ ? (0, file_hasher_1.hashArray)([snapshot.resolution['tarball']])
59
+ : undefined));
60
+ }
61
+ function isLockFileKey(depVersion) {
62
+ return depVersion.startsWith('/');
63
+ }
36
64
  function getNodes(data, keyMap, isV6) {
37
65
  const nodes = new Map();
38
- Object.entries(data.packages).forEach(([key, snapshot]) => {
39
- findPackageNames(key, snapshot, data).forEach((packageName) => {
40
- const rawVersion = findVersion(key, packageName);
41
- const version = parseBaseVersion(rawVersion, isV6);
42
- // we don't need to keep duplicates, we can just track the keys
43
- const existingNode = nodes.get(packageName)?.get(version);
44
- if (existingNode) {
45
- keyMap.set(key, existingNode);
46
- return;
66
+ const maybeAliasedPackageVersions = new Map(); // <version, alias>
67
+ const packageNames = new Set();
68
+ for (const [key, snapshot] of Object.entries(data.packages)) {
69
+ const originalPackageName = extractNameFromKey(key);
70
+ if (!originalPackageName) {
71
+ continue;
72
+ }
73
+ // snapshot already has a name
74
+ if (snapshot.name) {
75
+ packageNames.add({
76
+ key,
77
+ packageName: snapshot.name,
78
+ hash: createHashFromSnapshot(snapshot),
79
+ });
80
+ }
81
+ const rootDependencyName = matchedDependencyName(data.importers['.'], key, originalPackageName) ||
82
+ // only root importers have devDependencies
83
+ matchPropValue(data.importers['.'].devDependencies, key, originalPackageName);
84
+ if (rootDependencyName) {
85
+ packageNames.add({
86
+ key,
87
+ packageName: rootDependencyName,
88
+ hash: createHashFromSnapshot(snapshot),
89
+ });
90
+ }
91
+ if (!snapshot.name && !rootDependencyName) {
92
+ packageNames.add({
93
+ key,
94
+ packageName: originalPackageName,
95
+ hash: createHashFromSnapshot(snapshot),
96
+ });
97
+ }
98
+ if (snapshot.peerDependencies) {
99
+ for (const [depName, depVersion] of Object.entries(snapshot.peerDependencies)) {
100
+ if (isLockFileKey(depVersion)) {
101
+ maybeAliasedPackageVersions.set(depVersion, depName);
102
+ }
103
+ }
104
+ }
105
+ if (snapshot.optionalDependencies) {
106
+ for (const [depName, depVersion] of Object.entries(snapshot.optionalDependencies)) {
107
+ if (isLockFileKey(depVersion)) {
108
+ maybeAliasedPackageVersions.set(depVersion, depName);
109
+ }
47
110
  }
111
+ }
112
+ if (snapshot.dependencies) {
113
+ for (const [depName, depVersion] of Object.entries(snapshot.dependencies)) {
114
+ if (isLockFileKey(depVersion)) {
115
+ maybeAliasedPackageVersions.set(depVersion, depName);
116
+ }
117
+ }
118
+ }
119
+ const aliasedDep = maybeAliasedPackageVersions.get(key);
120
+ if (aliasedDep) {
121
+ packageNames.add({
122
+ key,
123
+ packageName: aliasedDep,
124
+ hash: createHashFromSnapshot(snapshot),
125
+ });
126
+ }
127
+ }
128
+ for (const { key, packageName, hash } of packageNames) {
129
+ const rawVersion = findVersion(key, packageName);
130
+ if (!rawVersion) {
131
+ continue;
132
+ }
133
+ const version = parseBaseVersion(rawVersion, isV6);
134
+ if (!version) {
135
+ continue;
136
+ }
137
+ if (!nodes.has(packageName)) {
138
+ nodes.set(packageName, new Map());
139
+ }
140
+ if (!nodes.get(packageName).has(version)) {
48
141
  const node = {
49
142
  type: 'npm',
50
143
  name: version ? `npm:${packageName}@${version}` : `npm:${packageName}`,
51
144
  data: {
52
145
  version,
53
146
  packageName,
54
- hash: snapshot.resolution?.['integrity'] ||
55
- (0, file_hasher_1.hashArray)(snapshot.resolution?.['tarball']
56
- ? [snapshot.resolution['tarball']]
57
- : [packageName, version]),
147
+ hash: hash ?? (0, file_hasher_1.hashArray)([packageName, version]),
58
148
  },
59
149
  };
150
+ nodes.get(packageName).set(version, node);
60
151
  keyMap.set(key, node);
61
- if (!nodes.has(packageName)) {
62
- nodes.set(packageName, new Map([[version, node]]));
63
- }
64
- else {
65
- nodes.get(packageName).set(version, node);
66
- }
67
- });
68
- });
152
+ }
153
+ else {
154
+ keyMap.set(key, nodes.get(packageName).get(version));
155
+ }
156
+ }
69
157
  const hoistedDeps = (0, pnpm_normalizer_1.loadPnpmHoistedDepsDefinition)();
70
158
  const results = {};
71
159
  for (const [packageName, versionMap] of nodes.entries()) {
@@ -228,52 +316,6 @@ function findVersion(key, packageName) {
228
316
  // for tarball package the entire key is the version spec
229
317
  return key;
230
318
  }
231
- function findPackageNames(key, snapshot, data) {
232
- const packageNames = new Set();
233
- const originalPackageName = extractNameFromKey(key);
234
- const matchPropValue = (record) => {
235
- if (!record) {
236
- return undefined;
237
- }
238
- const index = Object.values(record).findIndex((version) => version === key);
239
- if (index > -1) {
240
- return Object.keys(record)[index];
241
- }
242
- // check if non aliased name is found
243
- if (record[originalPackageName] &&
244
- key.startsWith(`/${originalPackageName}/${record[originalPackageName]}`)) {
245
- return originalPackageName;
246
- }
247
- };
248
- const matchedDependencyName = (importer) => {
249
- return (matchPropValue(importer.dependencies) ||
250
- matchPropValue(importer.optionalDependencies) ||
251
- matchPropValue(importer.peerDependencies));
252
- };
253
- // snapshot already has a name
254
- if (snapshot.name) {
255
- packageNames.add(snapshot.name);
256
- }
257
- // it'a a root dependency
258
- const rootDependencyName = matchedDependencyName(data.importers['.']) ||
259
- // only root importers have devDependencies
260
- matchPropValue(data.importers['.'].devDependencies);
261
- if (rootDependencyName) {
262
- packageNames.add(rootDependencyName);
263
- }
264
- // find a snapshot that has a dependency that points to this snapshot
265
- const snapshots = Object.values(data.packages);
266
- for (let i = 0; i < snapshots.length; i++) {
267
- const dependencyName = matchedDependencyName(snapshots[i]);
268
- if (dependencyName) {
269
- packageNames.add(dependencyName);
270
- }
271
- }
272
- if (packageNames.size === 0) {
273
- packageNames.add(originalPackageName);
274
- }
275
- return Array.from(packageNames);
276
- }
277
319
  function getVersion(key, packageName) {
278
320
  const KEY_NAME_SEPARATOR_LENGTH = 2; // leading and trailing slash
279
321
  return key.slice(packageName.length + KEY_NAME_SEPARATOR_LENGTH);
@@ -15,7 +15,9 @@ const getTouchedProjects = (touchedFiles, projectGraphNodes) => {
15
15
  };
16
16
  exports.getTouchedProjects = getTouchedProjects;
17
17
  const getImplicitlyTouchedProjects = (fileChanges, projectGraphNodes, nxJson) => {
18
- const implicits = {};
18
+ const implicits = {
19
+ 'nx.json': '*',
20
+ };
19
21
  Object.values(projectGraphNodes || {}).forEach((node) => {
20
22
  const namedInputs = {
21
23
  ...nxJson.namedInputs,
@@ -5,7 +5,7 @@ exports.LoadPluginError = exports.DaemonProjectGraphError = exports.isMergeNodes
5
5
  const tslib_1 = require("tslib");
6
6
  class ProjectGraphError extends Error {
7
7
  constructor(errors, partialProjectGraph, partialSourceMaps) {
8
- super(`Failed to process project graph.`);
8
+ super(`Failed to process project graph. Run "nx reset" to fix this. Please report the issue if you keep seeing it.`);
9
9
  _ProjectGraphError_errors.set(this, void 0);
10
10
  _ProjectGraphError_partialProjectGraph.set(this, void 0);
11
11
  _ProjectGraphError_partialSourceMaps.set(this, void 0);
@@ -15,6 +15,8 @@ export interface PluginWorkerLoadResult {
15
15
  type: 'load-result';
16
16
  payload: {
17
17
  name: string;
18
+ include?: string[];
19
+ exclude?: string[];
18
20
  createNodesPattern: string;
19
21
  hasCreateDependencies: boolean;
20
22
  hasProcessProjectGraph: boolean;
@@ -73,11 +73,13 @@ function createWorkerHandler(worker, pending, onload, onloadError) {
73
73
  return (0, messaging_1.consumeMessage)(message, {
74
74
  'load-result': (result) => {
75
75
  if (result.success) {
76
- const { name, createNodesPattern } = result;
76
+ const { name, createNodesPattern, include, exclude } = result;
77
77
  pluginName = name;
78
78
  pluginNames.set(worker, pluginName);
79
79
  onload({
80
80
  name,
81
+ include,
82
+ exclude,
81
83
  createNodes: createNodesPattern
82
84
  ? [
83
85
  createNodesPattern,
@@ -22,6 +22,8 @@ process.on('message', async (message) => {
22
22
  type: 'load-result',
23
23
  payload: {
24
24
  name: plugin.name,
25
+ include: plugin.include,
26
+ exclude: plugin.exclude,
25
27
  createNodesPattern: plugin.createNodes?.[0],
26
28
  hasCreateDependencies: 'createDependencies' in plugin && !!plugin.createDependencies,
27
29
  hasProcessProjectGraph: 'processProjectGraph' in plugin && !!plugin.processProjectGraph,
@@ -44,7 +44,6 @@ async function runCreateNodesInParallel(configFiles, plugin, options, context) {
44
44
  const errors = [];
45
45
  const results = [];
46
46
  const promises = configFiles.map(async (file) => {
47
- performance.mark(`${plugin.name}:createNodes:${file} - start`);
48
47
  try {
49
48
  const value = await plugin.createNodes[1](file, options, context);
50
49
  if (value) {
@@ -62,10 +61,6 @@ async function runCreateNodesInParallel(configFiles, plugin, options, context) {
62
61
  file,
63
62
  }));
64
63
  }
65
- finally {
66
- performance.mark(`${plugin.name}:createNodes:${file} - end`);
67
- performance.measure(`${plugin.name}:createNodes:${file}`, `${plugin.name}:createNodes:${file} - start`, `${plugin.name}:createNodes:${file} - end`);
68
- }
69
64
  });
70
65
  await Promise.all(promises).then(() => {
71
66
  performance.mark(`${plugin.name}:createNodes - end`);
@@ -11,10 +11,11 @@ export declare class PseudoTerminal {
11
11
  static isSupported(): boolean;
12
12
  constructor(rustPseudoTerminal: RustPseudoTerminal);
13
13
  init(): Promise<void>;
14
- runCommand(command: string, { cwd, jsEnv, quiet, }?: {
14
+ runCommand(command: string, { cwd, jsEnv, quiet, tty, }?: {
15
15
  cwd?: string;
16
16
  jsEnv?: Record<string, string>;
17
17
  quiet?: boolean;
18
+ tty?: boolean;
18
19
  }): PseudoTtyProcess;
19
20
  fork(id: string, script: string, { cwd, jsEnv, quiet, }: {
20
21
  cwd?: string;
@@ -32,8 +32,8 @@ class PseudoTerminal {
32
32
  await this.pseudoIPC.init();
33
33
  this.initialized = true;
34
34
  }
35
- runCommand(command, { cwd, jsEnv, quiet, } = {}) {
36
- return new PseudoTtyProcess(this.rustPseudoTerminal.runCommand(command, cwd, jsEnv, quiet));
35
+ runCommand(command, { cwd, jsEnv, quiet, tty, } = {}) {
36
+ return new PseudoTtyProcess(this.rustPseudoTerminal.runCommand(command, cwd, jsEnv, quiet, tty));
37
37
  }
38
38
  async fork(id, script, { cwd, jsEnv, quiet, }) {
39
39
  if (!this.initialized) {