diff --git a/site/src/components/SectionFeatures/index.tsx b/site/src/components/SectionFeatures/index.tsx index 4709f69f4..292224604 100644 --- a/site/src/components/SectionFeatures/index.tsx +++ b/site/src/components/SectionFeatures/index.tsx @@ -4,68 +4,95 @@ import styles from './styles.module.css' type FeatureItem = { title: string - description: JSX.Element + description: string | JSX.Element } const FeatureList: FeatureItem[] = [ { - title: 'Type-safe SQL queries', - + title: 'Type-safety without compromises', description: ( <> - Kysely lets you write type-safe SQL queries. This eliminates entire - classes of errors and lets you sleep peacefully at night. + Kysely's state-of-the-art, type-safe API provides precise result types + and catches errors within queries at compile-time, giving + high-performing teams the confidence to ship at greater velocity. Use + `kysely-codegen` to make the database the source of types. ), }, { - title: 'No magic, just SQL', - + title: 'What you see is what you get', description: ( <> - Kysely is a light abstraction layer over SQL. This makes it easy to - reason about performance, and reduces the number of concepts you need to - learn to be proficient with the library. + Kysely is a thin abstraction layer over SQL, crafted by SQL lovers for + SQL lovers, focusing on familiarity through naming and structure, and + predictability through 1:1 compilation. Teams proficient in SQL can pick + up Kysely and be productive in minutes. ), }, { - title: 'Great autocompletion', - + title: 'Write with great auto-completion', description: ( <> - By exposing your database schema to the TypeScript compiler, you get - autocompletion on table names, column names, aliases, etc. + Your database schema types flow through Kysely's fluent API, offering a + typing experience that's second only to full-blown database IDEs. Get + intelligent, context-aware suggestions for functions, table names, and + column names as you type. ), }, { - title: 'Multi-dialect support', - + title: 'Build SQL queries with unmatched depth', description: ( <> - PostgreSQL, MySQL, or SQLite? We've got you covered. There's also a - growing ecosystem of third-party dialects, including PlanetScale, D1, - SurrealDB, and more. Learn more. + Kysely supports building a wide range of SQL queries, clauses, + functions, and expressions, including SELECT, INSERT, UPDATE, DELETE, + MERGE, WITH, and more. When needed, you can also use raw SQL strings, + even within structured queries. ), }, { - title: 'Runs on every environment', - + title: 'Query any SQL database', + description: ( + <> + Kysely's community-driven dialect system makes it easy to implement + support for any SQL database without waiting for the core team. It ships + with official dialects for PostgreSQL, MySQL, MS SQL Server, and SQLite + right out of the box. + + ), + }, + { + title: 'Run anywhere', + description: ( + <> + Kysely is lightweight, ships both CommonJS and ESM, has zero + dependencies, and avoids any environment-specific APIs. It can run in + any JavaScript environment, including Node.js, Deno, Bun, AWS Lambda, + Cloudflare Workers, and browsers. + + ), + }, + { + title: 'Take control over your migrations', description: ( <> - Kysely runs on node.js, the browser, serverless and edge environments, - even on Deno! Learn more. + Kysely includes optional up/down migration primitives, allowing you to + move away from risky black box migration tools and write your own + migrations. Use `kysely-ctl` to run your migrations directly in the + terminal or within your CI/CD pipeline. ), }, { - title: 'Extensible core', + title: 'Extend with plugins', description: ( <> - Kysely comes with a plugin system that lets you extend the core with - your own functionality. Learn more. + Kysely's plugin system allows you tap into the process, and modify + queries before compilation and/or their results after execution. This + opens up various use cases, such as transforming camelCase names to + snake_case and vice versa. ), },