'use client'; import { ArrowLongRightIcon, ArrowsRightLeftIcon, ChevronRightIcon, ClipboardDocumentIcon, DocumentIcon, InboxArrowDownIcon, LockClosedIcon, SparklesIcon, } from '@heroicons/react/24/outline'; import { SectionHeading } from '@nx/nx-dev/ui-common'; import { BentoGrid, BentoGridItem } from './elements/bento-grid'; import { cx } from '@nx/nx-dev/ui-primitives'; import { animate, motion, useMotionValue, useTransform } from 'framer-motion'; import { ReactElement, useEffect } from 'react'; import { usePrefersReducedMotion } from '@nx/nx-dev/ui-animations'; export function UnderstandWorkspace(): ReactElement { return (
Deep understanding of your workspace Nx Cloud knows your build tools, how your projects relate to each other, and what every task does.
{/*FEATURES CONTAINER*/} {items.map((item, i) => ( p:text-lg]', item.className)} icon={item.icon} /> ))}
); } const Caching = () => { const variants = { hidden: { opacity: 0, transition: { when: 'afterChildren', }, }, visible: { opacity: 1, }, }; const items = [ { cache: 'remote', target: 'build', project: 'website', }, { cache: 'remote', target: 'test', project: 'express', }, { cache: 'remote', target: 'build', project: 'eslint', }, { cache: 'remote', target: 'lint', project: 'autoloan', }, { cache: 'remote', target: 'test', project: 'website', }, { cache: 'remote', target: 'lint', project: 'website', }, { cache: 'remote', target: 'build-base', project: 'express', }, { cache: 'remote', target: 'build', project: 'express', }, { cache: 'remote', target: 'lint', project: 'express', }, { cache: 'remote', target: 'test', project: 'autoloan', }, ]; return (
{items.map((i, idx) => (
{i.cache}
{i.target}
{i.project}
< 1s
))}
); }; const FlakyTasks = () => { const shouldReduceMotion = usePrefersReducedMotion(); const variants = { hidden: { opacity: 0, transition: { when: 'afterChildren', }, }, visible: { opacity: 1, }, }; const itemVariants = { visible: (i: number) => ({ opacity: 1, x: 0, transition: { delay: shouldReduceMotion ? 0 : i * 0.2, duration: shouldReduceMotion ? 0 : 0.275, ease: 'easeOut', when: 'beforeChildren', staggerChildren: 0.3, }, }), hidden: { opacity: 0, x: -100, transition: { when: 'afterChildren', }, }, }; return ( Running
miss
test
flaky 1 retry website
Failed
e2e
1 retry website
In progress
test
flaky 1 retry ui-cdk
remote
lint
website
In progress
build
ui-cdk
); }; const SplitE2eTests = () => { const variants = { hidden: { opacity: 0, transition: { when: 'afterChildren', }, }, visible: { opacity: 1, }, }; const uiDialogsTests = [ 'e2e/libs/ui-cdk/spec-1.tsx', 'e2e/libs/ui-cdk/spec-2.tsx', ]; const websiteTests = [ 'e2e/apps/website/spec-1.tsx', 'e2e/apps/website/spec-2.tsx', 'e2e/apps/website/spec-3.tsx', 'e2e/apps/website/spec-4.tsx', 'e2e/apps/website/spec-5.tsx', 'e2e/apps/website/spec-6.tsx', ]; return ( Running
In progress
e2e
ui-cdk
{uiDialogsTests.map((i, idx) => (