diff options
| author | 2023-04-22 19:52:26 +0800 | |
|---|---|---|
| committer | 2023-04-22 19:52:26 +0800 | |
| commit | 4838df315931bb883f704ec3e1abe2685f296cdf (patch) | |
| tree | 57a8550c4cd5338f1126364bb518c6cde8d96e7d /docs/content/features.ts | |
| parent | db74ade0234a40c2120ad5f2a41bee50ce13de02 (diff) | |
| download | HydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.tar.gz HydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.zip | |
😀
Diffstat (limited to 'docs/content/features.ts')
| -rw-r--r-- | docs/content/features.ts | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/docs/content/features.ts b/docs/content/features.ts new file mode 100644 index 0000000..119fb5b --- /dev/null +++ b/docs/content/features.ts @@ -0,0 +1,161 @@ +import type Image from "next/image"; +import EcosystemIconDark from "../public/images/docs/shared/feature-icons/ecosystem-dark.svg"; +import EcosystemIconLight from "../public/images/docs/shared/feature-icons/ecosystem-light.svg"; +import LightningIconDark from "../public/images/docs/shared/feature-icons/lightning-dark.svg"; +import LightningIconLight from "../public/images/docs/shared/feature-icons/lightning-light.svg"; +import BarsIconDark from "../public/images/docs/shared/feature-icons/bars-dark.svg"; +import BarsIconLight from "../public/images/docs/shared/feature-icons/bars-light.svg"; +import MultiEnvTargetsIconDark from "../public/images/docs/shared/feature-icons/multi-env-targets-dark.svg"; +import MultiEnvTargetsIconLight from "../public/images/docs/shared/feature-icons/multi-env-targets-light.svg"; +import NextJSIconDark from "../public/images/docs/shared/feature-icons/nextjs-dark.svg"; +import NextJSIconLight from "../public/images/docs/shared/feature-icons/nextjs-light.svg"; +import ServerComponentsIconDark from "../public/images/docs/shared/feature-icons/server-components-dark.svg"; +import ServerComponentsIconLight from "../public/images/docs/shared/feature-icons/server-components-light.svg"; +import FingerprintIconDark from "../public/images/docs/shared/feature-icons/fingerprint-dark.svg"; +import FingerprintIconLight from "../public/images/docs/shared/feature-icons/fingerprint-light.svg"; +import CloudIconDark from "../public/images/docs/shared/feature-icons/cloud-dark.svg"; +import CloudIconLight from "../public/images/docs/shared/feature-icons/cloud-light.svg"; +import CpuIconDark from "../public/images/docs/shared/feature-icons/cpu-dark.svg"; +import CpuIconLight from "../public/images/docs/shared/feature-icons/cpu-light.svg"; +import PieconDark from "../public/images/docs/shared/feature-icons/piecon-dark.svg"; +import PieconLight from "../public/images/docs/shared/feature-icons/piecon-light.svg"; +import RefreshIconDark from "../public/images/docs/shared/feature-icons/refresh-dark.svg"; +import RefreshIconLight from "../public/images/docs/shared/feature-icons/refresh-light.svg"; +import ArrowsExpandIconDark from "../public/images/docs/shared/feature-icons/arrows-expand-dark.svg"; +import ArrowsExpandIconLight from "../public/images/docs/shared/feature-icons/arrows-expand-light.svg"; +import BeakerIconDark from "../public/images/docs/shared/feature-icons/beaker-dark.svg"; +import BeakerIconLight from "../public/images/docs/shared/feature-icons/beaker-light.svg"; + +type NextImageSrc = Parameters<typeof Image>[0]["src"]; + +export type Feature = { + name: string; + description: string; + iconDark: NextImageSrc; + iconLight: NextImageSrc; + page: "all" | "home" | "docs"; +}; + +export type Features = Array<Feature>; + +const REPO_FEATURES: Features = [ + { + name: "Incremental builds", + description: `Building once is painful enough, Turborepo will remember what you've built and skip the stuff that's already been computed.`, + iconDark: RefreshIconDark, + iconLight: RefreshIconLight, + page: "all", + }, + { + name: "Content-aware hashing", + description: `Turborepo looks at the contents of your files, not timestamps to figure out what needs to be built.`, + iconDark: FingerprintIconDark, + iconLight: FingerprintIconLight, + page: "home", + }, + { + name: "Parallel execution", + description: `Execute builds using every core at maximum parallelism without wasting idle CPUs.`, + iconDark: LightningIconDark, + iconLight: LightningIconLight, + page: "all", + }, + { + name: "Remote Caching", + description: `Share a remote build cache with your teammates and CI/CD for even faster builds.`, + iconDark: CloudIconDark, + iconLight: CloudIconLight, + page: "all", + }, + { + name: "Zero runtime overhead", + description: `Turborepo won’t interfere with your runtime code or touch your sourcemaps. `, + iconDark: CpuIconDark, + iconLight: CpuIconLight, + page: "all", + }, + { + name: "Pruned subsets", + description: `Speed up PaaS deploys by generating a subset of your monorepo with only what's needed to build a specific target.`, + iconDark: PieconDark, + iconLight: PieconLight, + page: "all", + }, + { + name: "Task pipelines", + description: `Define the relationships between your tasks and then let Turborepo optimize what to build and when.`, + iconDark: ArrowsExpandIconDark, + iconLight: ArrowsExpandIconLight, + page: "all", + }, + { + name: "Meets you where you’re at", + description: `Using Lerna? Keep your package publishing workflow and use Turborepo to turbocharge task running.`, + iconDark: BeakerIconDark, + iconLight: BeakerIconLight, + page: "home", + }, + { + name: `Profile in your browser`, + description: `Generate build profiles and import them in Chrome or Edge to understand which tasks are taking the longest.`, + iconDark: BarsIconDark, + iconLight: BarsIconLight, + page: "home", + }, +]; + +const PACK_FEATURES: Features = [ + { + name: "Incremental by design", + description: `Building once is enough work—once Turbopack performs a task, it never does it again. `, + iconDark: BarsIconDark, + iconLight: BarsIconLight, + page: "all", + }, + { + name: "Ecosystem-friendly", + description: `Get out-of-the-box support for TypeScript, JSX, CSS, CSS Modules, WebAssembly, and more.`, + iconDark: EcosystemIconDark, + iconLight: EcosystemIconLight, + page: "home", + }, + { + name: "Lightning fast HMR", + description: `Hot Module Replacement (HMR) stays fast regardless of the size of your app.`, + iconDark: LightningIconDark, + iconLight: LightningIconLight, + page: "all", + }, + { + name: "React Server Components", + description: `Get native support for React Server Components when using Turbopack. `, + iconDark: ServerComponentsIconDark, + iconLight: ServerComponentsIconLight, + page: "all", + }, + { + name: "Simultaneous Multiple Env Targets", + description: `Build and optimize for multiple environments together (Browser, Server, Edge, SSR, React Server Components).`, + iconDark: MultiEnvTargetsIconDark, + iconLight: MultiEnvTargetsIconLight, + page: "all", + }, + { + name: "Next.js support", + description: `Turbopack will also power Next.js production builds, both locally and in the cloud.`, + iconDark: NextJSIconDark, + iconLight: NextJSIconLight, + page: "all", + }, +]; +export const REPO_DOCS_FEATURES = REPO_FEATURES.filter( + (f) => f.page === "docs" || f.page === "all" +); + +export const REPO_HOME_FEATURES = REPO_FEATURES.filter( + (f) => f.page === "home" || f.page === "all" +); + +export const PACK_HOME_FEATURES = PACK_FEATURES.filter( + (f) => f.page === "home" || f.page === "all" +); |
