From 45ddb0cdfa6fc7e7c2b49144d1c2d588a2289679 Mon Sep 17 00:00:00 2001 From: juliusmarminge Date: Fri, 9 Feb 2024 11:00:22 +0100 Subject: [PATCH] reinit --- .changeset/README.md | 8 - .changeset/config.json | 13 - .eslintrc.cjs | 36 - .github/canary-version.js | 37 - .github/setup/action.yml | 15 + .github/workflows/main.yml | 53 +- .github/workflows/release-canary.yaml | 91 - .github/workflows/release.yml | 47 +- .gitignore | 4 + .npmrc | 8 - .vscode/settings.json | 15 + biome.json | 46 + bun.lockb | Bin 0 -> 98808 bytes docs/.vscode/settings.json | 4 - docs/app/api/search/route.ts | 11 + docs/app/docs/[[...slug]]/page.tsx | 44 + docs/app/docs/layout.tsx | 11 + docs/app/global.css | 3 + docs/app/layout.tsx | 18 + docs/app/page.tsx | 16 + docs/app/source.ts | 9 + docs/content/docs/index.mdx | 13 + docs/content/docs/test.mdx | 17 + docs/mdx-components.tsx | 9 + docs/next.config.js | 7 + docs/next.config.mjs | 43 - docs/package.json | 43 +- .../{postcss.config.js => postcss.config.cjs} | 3 +- docs/public/favicon.ico | Bin 103027 -> 0 bytes docs/public/opengraph-image.png | Bin 145117 -> 0 bytes docs/src/app/docs/eslint/page.mdx | 36 - docs/src/app/docs/generator/page.mdx | 59 - docs/src/app/docs/introduction/page.mdx | 5 - docs/src/app/docs/layout.tsx | 17 - docs/src/app/docs/release/page.mdx | 11 - docs/src/app/layout.tsx | 79 - docs/src/app/page.tsx | 47 - docs/src/app/site-config.ts | 50 - docs/src/components/icons.tsx | 99 - docs/src/components/layout.tsx | 14 - docs/src/components/main-nav.tsx | 46 - docs/src/components/mdx/callout.tsx | 86 - docs/src/components/mdx/code-block.tsx | 76 - docs/src/components/mobile-nav.tsx | 81 - docs/src/components/sidebar.tsx | 72 - docs/src/components/site-header.tsx | 61 - docs/src/components/tailwind-indicator.tsx | 16 - docs/src/components/theme-provider.tsx | 9 - docs/src/components/theme-toggle.tsx | 23 - docs/src/components/ui/button.tsx | 51 - docs/src/components/ui/popover.tsx | 31 - docs/src/components/ui/scroll-area.tsx | 48 - docs/src/lib/cn.ts | 6 - docs/src/mdx-components.tsx | 68 - docs/src/styles/calsans.ttf | Bin 148964 -> 0 bytes docs/src/styles/globals.css | 185 - docs/tailwind.config.ts | 114 +- docs/tsconfig.json | 43 +- examples/nextjs/.eslintrc.js | 6 - examples/nextjs/app/layout.tsx | 2 +- .../{next.config.mjs => next.config.js} | 1 - examples/nextjs/package.json | 20 +- examples/nextjs/prisma/enums.ts | 13 - examples/nextjs/prisma/schema.prisma | 33 - examples/nextjs/tsconfig.json | 34 +- package.json | 25 +- packages/a/package.json | 38 + packages/a/src/index.ts | 1 + packages/a/test/smoke.test.ts | 6 + packages/{generator => a}/tsconfig.json | 2 +- packages/a/tsconfig.tsbuildinfo | 1 + packages/eslint-plugin/CHANGELOG.md | 7 - packages/eslint-plugin/package.json | 29 - packages/eslint-plugin/src/index.ts | 14 - .../eslint-plugin/src/rules/prisma-imports.ts | 44 - packages/eslint-plugin/tsconfig.json | 9 - packages/eslint-plugin/tsup.config.ts | 8 - packages/generator/CHANGELOG.md | 7 - packages/generator/package.json | 42 - packages/generator/src/bin.ts | 35 - packages/generator/test/smoke.test.ts | 5 - packages/generator/tsup.config.ts | 9 - pnpm-lock.yaml | 6858 ----------------- pnpm-workspace.yaml | 4 - replace-workspace-proto.ts | 20 + tsconfig.json | 61 +- turbo.json | 18 +- 87 files changed, 443 insertions(+), 8966 deletions(-) delete mode 100644 .changeset/README.md delete mode 100644 .changeset/config.json delete mode 100644 .eslintrc.cjs delete mode 100644 .github/canary-version.js create mode 100644 .github/setup/action.yml delete mode 100644 .github/workflows/release-canary.yaml delete mode 100644 .npmrc create mode 100644 .vscode/settings.json create mode 100644 biome.json create mode 100755 bun.lockb delete mode 100644 docs/.vscode/settings.json create mode 100644 docs/app/api/search/route.ts create mode 100644 docs/app/docs/[[...slug]]/page.tsx create mode 100644 docs/app/docs/layout.tsx create mode 100644 docs/app/global.css create mode 100644 docs/app/layout.tsx create mode 100644 docs/app/page.tsx create mode 100644 docs/app/source.ts create mode 100644 docs/content/docs/index.mdx create mode 100644 docs/content/docs/test.mdx create mode 100644 docs/mdx-components.tsx create mode 100644 docs/next.config.js delete mode 100644 docs/next.config.mjs rename docs/{postcss.config.js => postcss.config.cjs} (70%) delete mode 100644 docs/public/favicon.ico delete mode 100644 docs/public/opengraph-image.png delete mode 100644 docs/src/app/docs/eslint/page.mdx delete mode 100644 docs/src/app/docs/generator/page.mdx delete mode 100644 docs/src/app/docs/introduction/page.mdx delete mode 100644 docs/src/app/docs/layout.tsx delete mode 100644 docs/src/app/docs/release/page.mdx delete mode 100644 docs/src/app/layout.tsx delete mode 100644 docs/src/app/page.tsx delete mode 100644 docs/src/app/site-config.ts delete mode 100644 docs/src/components/icons.tsx delete mode 100644 docs/src/components/layout.tsx delete mode 100644 docs/src/components/main-nav.tsx delete mode 100644 docs/src/components/mdx/callout.tsx delete mode 100644 docs/src/components/mdx/code-block.tsx delete mode 100644 docs/src/components/mobile-nav.tsx delete mode 100644 docs/src/components/sidebar.tsx delete mode 100644 docs/src/components/site-header.tsx delete mode 100644 docs/src/components/tailwind-indicator.tsx delete mode 100644 docs/src/components/theme-provider.tsx delete mode 100644 docs/src/components/theme-toggle.tsx delete mode 100644 docs/src/components/ui/button.tsx delete mode 100644 docs/src/components/ui/popover.tsx delete mode 100644 docs/src/components/ui/scroll-area.tsx delete mode 100644 docs/src/lib/cn.ts delete mode 100644 docs/src/mdx-components.tsx delete mode 100644 docs/src/styles/calsans.ttf delete mode 100644 docs/src/styles/globals.css delete mode 100644 examples/nextjs/.eslintrc.js rename examples/nextjs/{next.config.mjs => next.config.js} (75%) delete mode 100644 examples/nextjs/prisma/enums.ts delete mode 100644 examples/nextjs/prisma/schema.prisma create mode 100644 packages/a/package.json create mode 100644 packages/a/src/index.ts create mode 100644 packages/a/test/smoke.test.ts rename packages/{generator => a}/tsconfig.json (62%) create mode 100644 packages/a/tsconfig.tsbuildinfo delete mode 100644 packages/eslint-plugin/CHANGELOG.md delete mode 100644 packages/eslint-plugin/package.json delete mode 100644 packages/eslint-plugin/src/index.ts delete mode 100644 packages/eslint-plugin/src/rules/prisma-imports.ts delete mode 100644 packages/eslint-plugin/tsconfig.json delete mode 100644 packages/eslint-plugin/tsup.config.ts delete mode 100644 packages/generator/CHANGELOG.md delete mode 100644 packages/generator/package.json delete mode 100644 packages/generator/src/bin.ts delete mode 100644 packages/generator/test/smoke.test.ts delete mode 100644 packages/generator/tsup.config.ts delete mode 100644 pnpm-lock.yaml delete mode 100644 pnpm-workspace.yaml create mode 100644 replace-workspace-proto.ts diff --git a/.changeset/README.md b/.changeset/README.md deleted file mode 100644 index e5b6d8d..0000000 --- a/.changeset/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changesets - -Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works -with multi-package repos, or single-package repos to help you version and publish your code. You can -find the full documentation for it [in our repository](https://github.com/changesets/changesets) - -We have a quick list of common questions to get you started engaging with this project in -[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json deleted file mode 100644 index bf80fdc..0000000 --- a/.changeset/config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": [ - "@changesets/changelog-github", - { "repo": "juliusmarminge/acme-corp-lib" } - ], - "commit": false, - "access": "public", - "baseBranch": "main", - "updateInternalDependencies": "patch", - "fixed": [["@prisma-enums/generator", "@prisma-enums/eslint-plugin"]], - "ignore": ["@examples/nextjs", "@prisma-enums/docs"] -} diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index a148090..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,36 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -const config = { - root: true, - parser: "@typescript-eslint/parser", - parserOptions: { - tsconfigRootDir: __dirname, - project: [ - "./examples/*/tsconfig.json", - "./packages/*/tsconfig.json", - "./docs/tsconfig.json", - ], - }, - plugins: ["@typescript-eslint"], - extends: [ - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - ], - rules: { - "@typescript-eslint/no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - caughtErrorsIgnorePattern: "^_", - }, - ], - }, - ignorePatterns: [ - "**/dist/**", - "**/node_modules/**", - ".eslintrc.cjs", - "**/config.*", - ], -}; - -module.exports = config; diff --git a/.github/canary-version.js b/.github/canary-version.js deleted file mode 100644 index 4c16c69..0000000 --- a/.github/canary-version.js +++ /dev/null @@ -1,37 +0,0 @@ -import fs from "fs"; -import { exec } from "child_process"; - -const pkgJsonPaths = [ - "packages/eslint-plugin/package.json", - "packages/generator/package.json", -]; - -try { - exec("git rev-parse --short HEAD", (err, stdout) => { - if (err) { - console.log(err); - process.exit(1); - } - const commitHash = stdout.trim(); - - for (const pkgJsonPath of pkgJsonPaths) { - const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8")); - const oldVersion = pkg.version; - const [major, minor, patch] = oldVersion.split(".").map(Number); - const newVersion = `${major}.${minor}.${patch + 1}-canary.${commitHash}`; - - pkg.version = newVersion; - - const content = JSON.stringify(pkg, null, "\t") + "\n"; - const newContent = content.replace( - new RegExp(`"@prisma-enums/\\*": "${oldVersion}"`, "g"), - `"@prisma-enums/*": "${newVersion}"` - ); - - fs.writeFileSync(pkgJsonPath, newContent); - } - }); -} catch (error) { - console.error(error); - process.exit(1); -} diff --git a/.github/setup/action.yml b/.github/setup/action.yml new file mode 100644 index 0000000..a72e3f1 --- /dev/null +++ b/.github/setup/action.yml @@ -0,0 +1,15 @@ +name: Setup Workflow +description: Composite action that sets up bun and installs dependencies +runs: + using: 'composite' + steps: + - uses: actions/setup-node@v4 + with: + node-version: 20.x + + - uses: oven-sh/setup-bun@v1 + with: + bun-version: 1.0.26 + + - run: bun install + shell: bash diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5161d50..3fc2c99 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,44 +7,39 @@ on: branches: ["main"] merge_group: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + env: - TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + FORCE_COLOR: 3 TURBO_TEAM: ${{ secrets.TURBO_TEAM }} + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} jobs: - build-lint: + build: runs-on: ubuntu-latest - steps: - name: Checkout repo - uses: actions/checkout@v3 - - - name: Setup pnpm - uses: pnpm/action-setup@v2.2.4 - - - name: Setup Node 18 - uses: actions/setup-node@v3 - with: - node-version: 18 + uses: actions/checkout@v4 + - uses: ./.github/setup - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + - run: bun turbo build - - name: Setup pnpm cache - uses: actions/cache@v3 - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - uses: ./.github/setup - - name: Install deps (with cache) - run: pnpm install + - run: bun lint - - name: Build, lint and type-check - run: pnpm turbo build lint typecheck test + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - uses: ./.github/setup - - name: Check workspaces - run: pnpm manypkg check + - run: bun turbo test typecheck --filter "@acme/env*" diff --git a/.github/workflows/release-canary.yaml b/.github/workflows/release-canary.yaml deleted file mode 100644 index 459c5a2..0000000 --- a/.github/workflows/release-canary.yaml +++ /dev/null @@ -1,91 +0,0 @@ -name: Release - Canary - -on: - pull_request: - types: [labeled] - branches: - - main - -env: - TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} - TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - -jobs: - release: - if: contains(github.event.pull_request.labels.*.name, 'release canary') - name: Build & Publish a canary release - runs-on: ubuntu-latest - - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Use PNPM - uses: pnpm/action-setup@v2.2.4 - - - name: Use Node.js 18 - uses: actions/setup-node@v3 - with: - node-version: 18 - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - - - name: Setup pnpm cache - uses: actions/cache@v3 - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install deps (with cache) - run: pnpm install - - - name: Check packages for common errors - run: pnpm turbo --filter "./packages/*" build lint test typecheck - - - name: Bump version to canary - run: node .github/canary-version.js - - - name: Authenticate to npm and publish - run: | - pnpm build - echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc - pnpm publish packages/generator --access public --tag canary --no-git-checks - pnpm publish packages/eslint-plugin --access public --tag canary --no-git-checks - - - name: Create a new comment notifying of the new canary version - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - // Get package version - const fs = require("fs"); - const packageJson = JSON.parse(fs.readFileSync("./packages/core/package.json")); - const version = packageJson.version; - - // Create a comment on the PR with the new canary version - github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number, - body: `A new canary is available for testing. You can install this latest build in your project with: - - \`\`\`sh - pnpm add prisma-enums@${version} @prisma-enums/eslint-plugin@version - \`\`\` - `, - }) - - // Remove the label - github.rest.issues.removeLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number, - name: 'release canary', - }); diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5eb9c04..c7228a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,56 +13,21 @@ jobs: name: Release runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Use PNPM - uses: pnpm/action-setup@v2.2.4 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 18 - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - - - name: Setup pnpm cache - uses: actions/cache@v3 - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install deps (with cache) - run: pnpm install + - name: Checkout repo + uses: actions/checkout@v4 + - uses: ./.github/setup - name: Build - run: pnpm turbo --filter "./packages/*" build + run: bun run build # Using custom token `MY_GITHUB_TOKEN` with more access to avoid rate limiting - name: Create Release id: changeset - uses: changesets/action@v1.4.4 + uses: changesets/action@v1.4.1 with: commit: "chore(release): 📦 version packages" title: "chore(release): 📦 version packages" - publish: npx changeset publish + publish: bunx changeset publish env: GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - # Changeset has some issues with pnpm so we sync it up manually - - name: Sync lockfile if necessary - if: steps.changeset.outputs.hasChangesets == 'true' - run: | - git checkout changeset-release/main - pnpm install --no-frozen-lockfile - git add . - git commit -m "chore(release): 📦 sync lockfile" - git push origin changeset-release/main diff --git a/.gitignore b/.gitignore index bfb355f..50aef74 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,10 @@ node_modules/ package-lock.json yarn.lock +# GENERATED CONTENT +.map.ts +.contentlayer + # TESTING /coverage *.lcov diff --git a/.npmrc b/.npmrc deleted file mode 100644 index d406602..0000000 --- a/.npmrc +++ /dev/null @@ -1,8 +0,0 @@ -# Prevent pnpm from adding the "workspace:"" prefix to local -# packages as it casues issues with manypkg -# @link https://pnpm.io/npmrc#prefer-workspace-packages -save-workspace-protocol=false -prefer-workspace-packages=true - -# Prisma being prisma... -public-hoist-pattern[]=*prisma* diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..092cd91 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,15 @@ +{ + "editor.codeActionsOnSave": { + "quickfix.biome": "explicit", + "source.organizeImports.biome": "explicit" + }, + "editor.formatOnSave": true, + "editor.defaultFormatter": "biomejs.biome", + "tailwindCSS.experimental.configFile": "./docs/tailwind.config.ts", + "tailwindCSS.experimental.classRegex": [ + ["clsx\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] + ], + "mdx.experimentalLanguageServer": true, + "typescript.tsdk": "node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..09241a0 --- /dev/null +++ b/biome.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", + "organizeImports": { + "enabled": true + }, + "formatter": { + "enabled": true, + "indentWidth": 2, + "indentStyle": "space" + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "a11y": { + "noSvgWithoutTitle": "off", + "useButtonType": "off", + "useAltText": "off" + }, + "complexity": { + "noBannedTypes": "off" + }, + "nursery": { + "useImportType": "error", + "useExportType": "error" + } + } + }, + "overrides": [ + { + "include": ["**/*.test.ts"], + "linter": { + "rules": { + "suspicious": { + "noExplicitAny": "off" + } + } + } + } + ], + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + } +} diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..c483099330f1d0bc648dc315aa43f6d90e79d250 GIT binary patch literal 98808 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 C*7Z;T literal 0 HcmV?d00001 diff --git a/docs/.vscode/settings.json b/docs/.vscode/settings.json deleted file mode 100644 index 40c46d8..0000000 --- a/docs/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "typescript.tsdk": "../node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true -} \ No newline at end of file diff --git a/docs/app/api/search/route.ts b/docs/app/api/search/route.ts new file mode 100644 index 0000000..f67671a --- /dev/null +++ b/docs/app/api/search/route.ts @@ -0,0 +1,11 @@ +import { getPages } from "@/app/source"; +import { createSearchAPI } from "fumadocs-core/search/server"; + +export const { GET } = createSearchAPI("advanced", { + indexes: getPages().map((page) => ({ + title: page.data.title, + structuredData: page.data.exports.structuredData, + id: page.url, + url: page.url, + })), +}); diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx new file mode 100644 index 0000000..70a7f77 --- /dev/null +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,44 @@ +import { getPage, getPages } from "@/app/source"; +import { DocsBody, DocsPage } from "fumadocs-ui/page"; +import type { Metadata } from "next"; +import { notFound } from "next/navigation"; + +export default async function Page({ + params, +}: { + params: { slug?: string[] }; +}) { + const page = getPage(params.slug); + + if (page == null) { + notFound(); + } + + const MDX = page.data.exports.default; + + return ( + + +

{page.data.title}

+ +
+
+ ); +} + +export async function generateStaticParams() { + return getPages().map((page) => ({ + slug: page.slugs, + })); +} + +export function generateMetadata({ params }: { params: { slug?: string[] } }) { + const page = getPage(params.slug); + + if (page == null) notFound(); + + return { + title: page.data.title, + description: page.data.description, + } satisfies Metadata; +} diff --git a/docs/app/docs/layout.tsx b/docs/app/docs/layout.tsx new file mode 100644 index 0000000..75b3327 --- /dev/null +++ b/docs/app/docs/layout.tsx @@ -0,0 +1,11 @@ +import { DocsLayout } from "fumadocs-ui/layout"; +import type { ReactNode } from "react"; +import { pageTree } from "../source"; + +export default function RootDocsLayout({ children }: { children: ReactNode }) { + return ( + + {children} + + ); +} diff --git a/docs/app/global.css b/docs/app/global.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/docs/app/global.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx new file mode 100644 index 0000000..fe0c44a --- /dev/null +++ b/docs/app/layout.tsx @@ -0,0 +1,18 @@ +import { RootProvider } from "fumadocs-ui/provider"; +import { Inter } from "next/font/google"; +import type { ReactNode } from "react"; +import "./global.css"; + +const inter = Inter({ + subsets: ["latin"], +}); + +export default function Layout({ children }: { children: ReactNode }) { + return ( + + + {children} + + + ); +} diff --git a/docs/app/page.tsx b/docs/app/page.tsx new file mode 100644 index 0000000..82c52ab --- /dev/null +++ b/docs/app/page.tsx @@ -0,0 +1,16 @@ +import Link from "next/link"; + +export default function HomePage() { + return ( +
+

Hello World

+

+ You can open{" "} + + /docs + {" "} + and see the documentation. +

+
+ ); +} diff --git a/docs/app/source.ts b/docs/app/source.ts new file mode 100644 index 0000000..7d478a1 --- /dev/null +++ b/docs/app/source.ts @@ -0,0 +1,9 @@ +import { map } from "@/.map"; +import { loader } from "fumadocs-core/source"; +import { createMDXSource } from "fumadocs-mdx"; + +export const { getPage, getPages, pageTree } = loader({ + baseUrl: "/docs", + rootDir: "docs", + source: createMDXSource(map), +}); diff --git a/docs/content/docs/index.mdx b/docs/content/docs/index.mdx new file mode 100644 index 0000000..986a7fa --- /dev/null +++ b/docs/content/docs/index.mdx @@ -0,0 +1,13 @@ +--- +title: Hello World +description: Your first document +--- + +Welcome to the docs! You can start writing documents in `/content/docs`. + +## What is Next? + + + + + diff --git a/docs/content/docs/test.mdx b/docs/content/docs/test.mdx new file mode 100644 index 0000000..d1ee3a8 --- /dev/null +++ b/docs/content/docs/test.mdx @@ -0,0 +1,17 @@ +--- +title: Components +description: Components +--- + +## Code Block + +```js +console.log('Hello World'); +``` + +## Cards + + + + + diff --git a/docs/mdx-components.tsx b/docs/mdx-components.tsx new file mode 100644 index 0000000..2d0c865 --- /dev/null +++ b/docs/mdx-components.tsx @@ -0,0 +1,9 @@ +import defaultComponents from "fumadocs-ui/mdx"; +import type { MDXComponents } from "mdx/types"; + +export function useMDXComponents(components: MDXComponents): MDXComponents { + return { + ...defaultComponents, + ...components, + }; +} diff --git a/docs/next.config.js b/docs/next.config.js new file mode 100644 index 0000000..bb53bad --- /dev/null +++ b/docs/next.config.js @@ -0,0 +1,7 @@ +import createMDX from "fumadocs-mdx/config"; + +const withMDX = createMDX(); + +export default withMDX({ + reactStrictMode: true, +}); diff --git a/docs/next.config.mjs b/docs/next.config.mjs deleted file mode 100644 index 97b3362..0000000 --- a/docs/next.config.mjs +++ /dev/null @@ -1,43 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unsafe-call */ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ - -import withMdx from "@next/mdx"; -import rehypePrettyCode from "rehype-pretty-code"; -import { getHighlighter } from "shiki"; - -/** @type {import('next').NextConfig} */ -const nextConfig = { - pageExtensions: ["ts", "tsx", "mdx"], - redirects: () => [ - { source: "/docs", destination: "/docs/introduction", permanent: true }, - ], -}; - -export default withMdx({ - options: { - rehypePlugins: [ - [ - rehypePrettyCode, - /** @type {import("rehype-pretty-code").Options} */ - ({ - theme: { dark: "one-dark-pro", light: "github-light" }, - getHighlighter, - onVisitLine(node) { - // Prevent lines from collapsing in `display: grid` mode, and allow empty - // lines to be copy/pasted - if (node.children.length === 0) { - node.children = [{ type: "text", value: " " }]; - } - }, - onVisitHighlightedLine(node) { - node.properties.className.push("line--highlighted"); - }, - onVisitHighlightedWord(node, id) { - node.properties.className = ["word"]; - node.properties["data-word-id"] = id; - }, - }), - ], - ], - }, -})(nextConfig); diff --git a/docs/package.json b/docs/package.json index a30e8ee..5fd3849 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,42 +1,27 @@ { - "name": "@prisma-enums/docs", - "version": "0.1.0", + "name": "docs", "private": true, + "type": "module", "scripts": { - "dev": "next dev", "build": "next build", + "dev": "next dev", "start": "next start" }, "dependencies": { - "@mdx-js/loader": "^2.3.0", - "@next/mdx": "^13.4.1", - "@radix-ui/react-popover": "^1.0.5", - "@radix-ui/react-scroll-area": "^1.0.3", - "@vercel/analytics": "^1.0.0", - "class-variance-authority": "^0.4.0", - "clsx": "^1.2.1", - "lucide-react": "0.176.0", - "next": "^13.4.1", - "next-themes": "^0.2.1", + "next": "^14.0.4", + "fumadocs-ui": "^8.1.1", + "fumadocs-core": "^8.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-wrap-balancer": "^0.4.0", - "rehype-pretty-code": "^0.9.5", - "sharp": "^0.31.3", - "shiki": "^0.14.1", - "tailwind-merge": "^1.12.0", - "tailwindcss-animate": "^1.0.5" + "fumadocs-mdx": "^8.0.2" }, "devDependencies": { - "@types/mdx": "^2.0.5", - "@types/node": "^18.15.13", - "@types/react": "18.0.38", - "@types/react-dom": "18.0.11", - "autoprefixer": "^10.4.13", - "eslint": "^8.39.0", - "eslint-config-next": "^13.4.1", - "postcss": "^8.4.21", - "tailwindcss": "^3.3.1", - "typescript": "^5.0.4" + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.1", + "typescript": "^5.3.3", + "@types/mdx": "^2.0.10", + "autoprefixer": "^10.4.16", + "postcss": "^8.4.32", + "tailwindcss": "^3.4.1" } } diff --git a/docs/postcss.config.js b/docs/postcss.config.cjs similarity index 70% rename from docs/postcss.config.js rename to docs/postcss.config.cjs index 33ad091..ee5f90b 100644 --- a/docs/postcss.config.js +++ b/docs/postcss.config.cjs @@ -1,6 +1,5 @@ module.exports = { plugins: { tailwindcss: {}, - autoprefixer: {}, }, -} +}; diff --git a/docs/public/favicon.ico b/docs/public/favicon.ico deleted file mode 100644 index f0058b404f98275b58117d309a8b3753c54aa619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103027 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 OAn - -### Install dependencies - -```bash -pnpm add -D @prisma-enums/eslint-plugin -``` - -### Add to your eslint config - -```js -module.exports = { - plugins: ["@prisma-enums"], - rules: { - "@prisma-enums/restrict-imports": "error", - }, -}; -``` - - - -With the plugin activated, you will get an eslint error if you try to import from the wrong entrypoint. - -```ts -// ✅ Allowed -import { Role } from "~/prisma/generated/enums"; - -// ❌ Not allowed -import { Role } from "@prisma/client"; -``` diff --git a/docs/src/app/docs/generator/page.mdx b/docs/src/app/docs/generator/page.mdx deleted file mode 100644 index 53d7318..0000000 --- a/docs/src/app/docs/generator/page.mdx +++ /dev/null @@ -1,59 +0,0 @@ -# Prisma Enum Generator - -It turns out Prisma doesn't treeshake very well, so your prisma client (20kB compressed) is being imported everytime you use an enum. They also cannot be imported on the client as the prisma client will throw errors there. - -> See related issue [on GitHub](https://github.com/prisma/prisma/issues/13567#issuecomment-1332030096). - -That's where this generator comes in. It pulls out all your enums into a separate file which you can import without the prisma client being "leaked" in. This means you can use enums on the client in for example shared validation schemas both on the server and client, as well as reducing your overall bundle size by not allowing the prisma client to leak in to the bundle unnecessarily. - -## Installation - - - -### Install dependencies - -```sh -pnpm add -D @prisma-enums/generator -``` - -### Add generator to schema.prisma - -```prisma title="./schema.prisma" -generator enum { - provider = "prisma-enums" -} -``` - -### Run it - -```sh title -pnpm prisma generate -``` - -### Use it - -```ts title="./enums/index.ts" -import { PaymentStatus } from '~/prisma/generated/enums'; - -if (payment.status === PaymentStatus.PAID) { ... } -``` - - - -## Configuration - -### Output file - -> `@default ./enums/index.ts` - -You can set the `output` option to change the output directory of the generated enum file, as well as `file` to change the name of the file. - -```prisma title="./schema.prisma" -generator enum { - provider = "prisma-enums" - output = "." - file = "enums.ts" -} -``` - -The path is relative to your prisma schema, so the above would generate a file called `enums.ts` in the same directory as your `schema.prisma` file. diff --git a/docs/src/app/docs/introduction/page.mdx b/docs/src/app/docs/introduction/page.mdx deleted file mode 100644 index c9c3800..0000000 --- a/docs/src/app/docs/introduction/page.mdx +++ /dev/null @@ -1,5 +0,0 @@ -# Acme Corp Lib - -Wooohoo 🎉🎉🎉 You made it here! - -Documentation on how to setup and manage this monorepo coming soon... diff --git a/docs/src/app/docs/layout.tsx b/docs/src/app/docs/layout.tsx deleted file mode 100644 index b24af3c..0000000 --- a/docs/src/app/docs/layout.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { DocsSidebarNav } from "@/components/sidebar"; -import { ScrollArea } from "@/components/ui/scroll-area"; -import { siteConfig } from "@/app/site-config"; -import { ReactNode } from "react"; - -export default function DocsLayout(props: { children: ReactNode }) { - return ( -
- -
{props.children}
-
- ); -} diff --git a/docs/src/app/docs/release/page.mdx b/docs/src/app/docs/release/page.mdx deleted file mode 100644 index ba583e0..0000000 --- a/docs/src/app/docs/release/page.mdx +++ /dev/null @@ -1,11 +0,0 @@ -# Release - -TODO - -## Release Flow - -... - -## Canary Releases - -... diff --git a/docs/src/app/layout.tsx b/docs/src/app/layout.tsx deleted file mode 100644 index da2ed00..0000000 --- a/docs/src/app/layout.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import "@/styles/globals.css"; -import { Metadata } from "next"; -import { Analytics } from "@vercel/analytics/react"; -import { siteConfig } from "@/app/site-config"; -import { cn } from "@/lib/cn"; -import { SiteHeader } from "@/components/site-header"; -import { TailwindIndicator } from "@/components/tailwind-indicator"; -import { ThemeProvider } from "@/components/theme-provider"; - -import { JetBrains_Mono, Inter } from "next/font/google"; -import localFont from "next/font/local"; - -const fontSans = Inter({ - subsets: ["latin"], - variable: "--font-sans", -}); - -const fontCal = localFont({ - src: "../styles/calsans.ttf", - variable: "--font-cal", - display: "swap", -}); - -const fontMono = JetBrains_Mono({ - subsets: ["latin"], - variable: "--font-mono", -}); - -export const metadata: Metadata = { - title: { - default: siteConfig.name, - template: `%s - ${siteConfig.name}`, - }, - description: siteConfig.description, - icons: { - icon: "/favicon.ico", - }, - openGraph: { - images: [{ url: "/opengraph-image.png" }], - }, - twitter: { - card: "summary_large_image", - title: siteConfig.name, - description: siteConfig.description, - images: [{ url: "https://acme-corp-lib.vercel.app/opengraph-image.png" }], - creator: "@jullerino", - }, -}; - -interface RootLayoutProps { - children: React.ReactNode; -} - -export default function RootLayout({ children }: RootLayoutProps) { - return ( - <> - - - - -
- -
{children}
-
- -
- - - - - ); -} diff --git a/docs/src/app/page.tsx b/docs/src/app/page.tsx deleted file mode 100644 index 848a475..0000000 --- a/docs/src/app/page.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import Link from "next/link"; -import Balancer from "react-wrap-balancer"; - -import { siteConfig } from "@/app/site-config"; -import { buttonVariants } from "@/components/ui/button"; -import { Icons } from "@/components/icons"; - -export default function IndexPage() { - return ( -
-
-

- {siteConfig.name} -

-

- {siteConfig.description} -

-
- - Documentation - - - - GitHub - -
-
-
- ); -} diff --git a/docs/src/app/site-config.ts b/docs/src/app/site-config.ts deleted file mode 100644 index 8c1e444..0000000 --- a/docs/src/app/site-config.ts +++ /dev/null @@ -1,50 +0,0 @@ -export const siteConfig = { - name: "Acme Corp Lib", - description: - "The perfect starter template for your next TypeScript library. Batteries included powered by PNPM Workspaces, Turborepo, tsup & Changesets.", - mainNav: [ - { - title: "Documentation", - href: "/docs/introduction", - }, - ], - sidebarNav: [ - { - title: "Monorepo Setup", - items: [ - { - title: "Introduction", - href: "/docs/introduction", - items: [], - }, - { - title: "Release", - href: "/docs/release", - items: [], - }, - ], - }, - { - title: "Prisma Generator", - items: [ - { - title: "Generator", - href: "/docs/generator", - items: [], - }, - { - title: "Eslint Plugin", - href: "/docs/eslint", - items: [], - }, - ], - }, - ], - links: { - twitter: "https://twitter.com/jullerino", - github: "https://github.com/juliusmarminge/acme-corp-lib", - docs: "/docs", - }, -}; - -export type SiteConfig = typeof siteConfig; diff --git a/docs/src/components/icons.tsx b/docs/src/components/icons.tsx deleted file mode 100644 index f0c7a15..0000000 --- a/docs/src/components/icons.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { - LucideProps, - Moon, - SunMedium, - Twitter, - type Icon as LucideIcon, - TerminalSquare, - Command, -} from "lucide-react"; - -export type Icon = LucideIcon; - -export const Icons = { - sun: SunMedium, - moon: Moon, - twitter: Twitter, - logo: Command, - gitHub: (props: LucideProps) => ( - - - - ), - javascript: (props: LucideProps) => ( - - - - ), - typescript: (props: LucideProps) => ( - - - - ), - prisma: (props: LucideProps) => ( - - - - ), - bash: TerminalSquare, - menu: (props: LucideProps) => ( - - - - - - - - - - ), -}; diff --git a/docs/src/components/layout.tsx b/docs/src/components/layout.tsx deleted file mode 100644 index bd911d5..0000000 --- a/docs/src/components/layout.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { SiteHeader } from "@/components/site-header"; - -interface LayoutProps { - children: React.ReactNode; -} - -export function Layout({ children }: LayoutProps) { - return ( - <> - -
{children}
- - ); -} diff --git a/docs/src/components/main-nav.tsx b/docs/src/components/main-nav.tsx deleted file mode 100644 index 5c26454..0000000 --- a/docs/src/components/main-nav.tsx +++ /dev/null @@ -1,46 +0,0 @@ -"use client"; - -import * as React from "react"; -import Link from "next/link"; - -import { cn } from "@/lib/cn"; -import { Icons } from "@/components/icons"; -import { usePathname } from "next/navigation"; - -export interface NavItem { - title: string; - href?: string; - disabled?: boolean; - external?: boolean; - icon?: keyof typeof Icons; - label?: string; -} - -export function MainNav(props: { items: NavItem[] }) { - const pathname = usePathname(); - - return ( -
- {props.items?.length ? ( - - ) : null} -
- ); -} diff --git a/docs/src/components/mdx/callout.tsx b/docs/src/components/mdx/callout.tsx deleted file mode 100644 index c0cce64..0000000 --- a/docs/src/components/mdx/callout.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/** Originally from `nextra-theme-docs` - * @link https://github.com/shuding/nextra/blob/main/packages/nextra-theme-docs/src/components/callout.tsx - */ - -import React, { - type ComponentProps, - type ReactElement, - type ReactNode, -} from "react"; -import clsx from "clsx"; - -export function InformationCircleIcon( - props: ComponentProps<"svg"> -): ReactElement { - return ( - - - - ); -} - -const TypeToEmoji = { - default: "💡", - error: "🚫", - info: , - warning: "⚠️", -}; - -type CalloutType = keyof typeof TypeToEmoji; - -const classes: Record = { - default: clsx( - "border-orange-200 bg-orange-100 text-orange-800 dark:border-orange-400/30 dark:bg-orange-400/20 dark:text-orange-300" - ), - error: clsx( - "border-red-200 bg-red-100 text-red-900 dark:border-red-200/30 dark:bg-red-900/30 dark:text-red-200" - ), - info: clsx( - "border-blue-200 bg-blue-100 text-blue-900 dark:border-blue-200/30 dark:bg-blue-900/30 dark:text-blue-200" - ), - warning: clsx( - "border-yellow-200 bg-yellow-100 text-yellow-900 dark:border-yellow-200/30 dark:bg-yellow-700/30 dark:text-yellow-200" - ), -}; - -interface CalloutProps { - type?: CalloutType; - emoji?: string | ReactElement; - children: ReactNode; -} - -export function Callout(props: CalloutProps): ReactElement { - const { children, type = "default", emoji = TypeToEmoji[type] } = props; - - return ( -
-
- {emoji} -
-
{children}
-
- ); -} diff --git a/docs/src/components/mdx/code-block.tsx b/docs/src/components/mdx/code-block.tsx deleted file mode 100644 index 7ea2e01..0000000 --- a/docs/src/components/mdx/code-block.tsx +++ /dev/null @@ -1,76 +0,0 @@ -"use client"; - -import { useRef, useState } from "react"; -import { CheckCheck, Copy } from "lucide-react"; -import { Icons } from "../icons"; -import { cn } from "@/lib/cn"; - -export type CodeblockProps = React.DetailedHTMLProps< - React.HTMLAttributes, - HTMLPreElement -> & { - /** set by `rehype-pretty-code` */ - "data-language"?: string; - /** set by `rehype-pretty-code` */ - "data-theme"?: string; -}; - -export function Codeblock(props: CodeblockProps) { - const { children, ...rest } = props; - const language = props["data-language"] as string; - const theme = props["data-theme"] as string; - const Icon = { - js: Icons.javascript, - ts: Icons.typescript, - prisma: Icons.prisma, - bash: Icons.bash, - }[language]; - - const ref = useRef(null); - const [copied, setCopied] = useState(false); - - return ( - <> - {Icon && ( - - )} - -
-        {children}
-      
- - ); -} diff --git a/docs/src/components/mobile-nav.tsx b/docs/src/components/mobile-nav.tsx deleted file mode 100644 index ccc9f2d..0000000 --- a/docs/src/components/mobile-nav.tsx +++ /dev/null @@ -1,81 +0,0 @@ -"use client"; - -import * as React from "react"; -import Link from "next/link"; - -import { Button } from "./ui/button"; -import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover"; -import { ScrollArea } from "./ui/scroll-area"; - -import { ThemeToggle } from "./theme-toggle"; -import { NavItem } from "./main-nav"; -import { NestedNavItem } from "./sidebar"; -import { PopoverClose } from "@radix-ui/react-popover"; -import { cn } from "@/lib/cn"; -import { Icons } from "./icons"; -import { usePathname } from "next/navigation"; - -export function MobileDropdown(props: { - items: { main: NavItem[]; docs: NestedNavItem[] }; -}) { - const [isOpen, setIsOpen] = React.useState(false); - const pathname = usePathname(); - - React.useEffect(() => { - if (isOpen) { - document.body.classList.add("overflow-hidden"); - } else { - document.body.classList.remove("overflow-hidden"); - } - }, [isOpen]); - - return ( - - - - - - - {props.items.docs.map((item, index) => ( -
-

{item.title}

- {item?.items?.length && - item.items.map((item) => ( - - {item.href ? ( - - {item.title} - {item.label && ( - - {item.label} - - )} - - ) : ( - item.title - )} - - ))} -
- ))} -
-
- -
-
-
- ); -} diff --git a/docs/src/components/sidebar.tsx b/docs/src/components/sidebar.tsx deleted file mode 100644 index 76f61b7..0000000 --- a/docs/src/components/sidebar.tsx +++ /dev/null @@ -1,72 +0,0 @@ -"use client"; - -import Link from "next/link"; -import { usePathname } from "next/navigation"; - -import { cn } from "@/lib/cn"; -import { NavItem } from "./main-nav"; - -export interface NestedNavItem extends NavItem { - items: NestedNavItem[]; -} - -export function DocsSidebarNav(props: { items: NestedNavItem[] }) { - const pathname = usePathname(); - - return props.items.length ? ( -
- {props.items.map((item, index) => ( -
-

- {item.title} -

- {item?.items?.length && ( - - )} -
- ))} -
- ) : null; -} - -export function DocsSidebarNavItems(props: { - items: NestedNavItem[]; - pathname: string | null; -}) { - return props.items?.length ? ( -
- {props.items.map((item, index) => - item.href ? ( - - {item.title} - {item.label && ( - - {item.label} - - )} - - ) : ( - - {item.title} - - ) - )} -
- ) : null; -} diff --git a/docs/src/components/site-header.tsx b/docs/src/components/site-header.tsx deleted file mode 100644 index ffff2d7..0000000 --- a/docs/src/components/site-header.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import Link from "next/link"; - -import { siteConfig } from "@/app/site-config"; -import { buttonVariants } from "@/components/ui/button"; -import { Icons } from "@/components/icons"; -import { MainNav } from "@/components/main-nav"; -import { ThemeToggle } from "@/components/theme-toggle"; -import { MobileDropdown } from "@/components/mobile-nav"; - -export function SiteHeader() { - return ( -
-
- - - {siteConfig.name} - - - -
- -
-
-
- ); -} diff --git a/docs/src/components/tailwind-indicator.tsx b/docs/src/components/tailwind-indicator.tsx deleted file mode 100644 index 5bd69ac..0000000 --- a/docs/src/components/tailwind-indicator.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export function TailwindIndicator() { - if (process.env.NODE_ENV === "production") return null - - return ( -
-
xs
-
- sm -
-
md
-
lg
-
xl
-
2xl
-
- ) -} diff --git a/docs/src/components/theme-provider.tsx b/docs/src/components/theme-provider.tsx deleted file mode 100644 index 691554d..0000000 --- a/docs/src/components/theme-provider.tsx +++ /dev/null @@ -1,9 +0,0 @@ -"use client" - -import * as React from "react" -import { ThemeProvider as NextThemesProvider } from "next-themes" -import { ThemeProviderProps } from "next-themes/dist/types" - -export function ThemeProvider({ children, ...props }: ThemeProviderProps) { - return {children} -} diff --git a/docs/src/components/theme-toggle.tsx b/docs/src/components/theme-toggle.tsx deleted file mode 100644 index 7de133c..0000000 --- a/docs/src/components/theme-toggle.tsx +++ /dev/null @@ -1,23 +0,0 @@ -"use client"; - -import * as React from "react"; -import { useTheme } from "next-themes"; - -import { Button } from "@/components/ui/button"; -import { Icons } from "@/components/icons"; - -export function ThemeToggle() { - const { setTheme, theme } = useTheme(); - - return ( - - ); -} diff --git a/docs/src/components/ui/button.tsx b/docs/src/components/ui/button.tsx deleted file mode 100644 index 8854a31..0000000 --- a/docs/src/components/ui/button.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import { VariantProps, cva } from "class-variance-authority"; - -import { cn } from "@/lib/cn"; - -const buttonVariants = cva( - "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background", - { - variants: { - variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: - "border border-input hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "underline-offset-4 hover:underline text-primary", - }, - size: { - default: "h-10 py-2 px-4", - sm: "h-9 px-3 rounded-md", - lg: "h-11 px-8 rounded-md", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -); - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps {} - -const Button = React.forwardRef( - ({ className, variant, size, ...props }, ref) => { - return ( -