From f077684914caa9cf14cc2ac6076327dc5a03ec7c Mon Sep 17 00:00:00 2001 From: wojtekolek Date: Sat, 5 Apr 2025 15:54:19 +0200 Subject: [PATCH 1/5] Update stuff --- .eslintrc.cjs | 15 - .gitignore | 8 +- .prettierrc.cjs | 8 - .zed/settings.json | 45 + apps/example/.eslintrc.cjs | 5 - apps/example/.vscode/settings.json | 4 - apps/example/README.md | 1 - apps/example/app/layout.tsx | 79 - apps/example/app/page.tsx | 14 - apps/example/components/Button/Button.tsx | 30 - apps/example/components/Button/index.ts | 1 - .../components/CodeSnippet/CodeSnippet.tsx | 22 - apps/example/components/CodeSnippet/index.ts | 1 - apps/example/components/CodeSnippet/theme.ts | 151 - apps/example/components/Footer/Footer.tsx | 20 - apps/example/components/Footer/index.ts | 1 - apps/example/components/Image/Image.tsx | 9 - apps/example/components/Image/index.ts | 1 - apps/example/components/Link/Link.tsx | 25 - apps/example/components/Link/index.ts | 1 - apps/example/components/PageMeta/PageMeta.tsx | 20 - apps/example/components/PageMeta/index.ts | 1 - apps/example/components/Primitives/Badges.tsx | 27 - .../components/Primitives/Headings.tsx | 27 - .../components/Primitives/Paragraph.tsx | 16 - .../example/components/Primitives/Section.tsx | 28 - apps/example/components/Primitives/index.ts | 4 - apps/example/components/TopMenu/TopMenu.tsx | 25 - apps/example/components/TopMenu/index.ts | 1 - apps/example/modules/Home/Home.tsx | 25 - .../modules/Home/components/Demo/Demo.tsx | 121 - .../modules/Home/components/Demo/config.tsx | 186 - .../modules/Home/components/Demo/index.ts | 1 - .../Home/components/Heading/Heading.tsx | 62 - .../Heading/components/PackageName.tsx | 56 - .../modules/Home/components/Heading/index.ts | 1 - apps/example/modules/Home/index.ts | 1 - apps/example/modules/HowToUse/HowToUse.tsx | 27 - .../HowToUse/components/AdvancedHeading.tsx | 30 - .../HowToUse/components/HowToUseItem.tsx | 20 - .../HowToUse/components/HowToUseSection.tsx | 50 - apps/example/modules/HowToUse/constants.ts | 188 - apps/example/modules/HowToUse/index.ts | 1 - apps/example/modules/HowToUse/types.ts | 5 - apps/example/next-env.d.ts | 5 - apps/example/next.config.mjs | 16 - apps/example/package.json | 36 - apps/example/postcss.config.js | 6 - .../example/public/android-chrome-192x192.png | Bin 2870 -> 0 bytes .../example/public/android-chrome-512x512.png | Bin 7650 -> 0 bytes apps/example/public/apple-touch-icon.png | Bin 2602 -> 0 bytes apps/example/public/favicon-32x32.png | Bin 510 -> 0 bytes apps/example/public/favicon.ico | Bin 101845 -> 0 bytes apps/example/public/logo.svg | 8 - apps/example/public/og.png | Bin 35715 -> 0 bytes apps/example/public/site.webmanifest | 1 - apps/example/tailwind.config.cjs | 37 - apps/example/tsconfig.json | 43 - apps/example/utils/styles/colors.cjs | 45 - apps/example/utils/styles/globals.css | 10 - apps/example/utils/styles/utils.ts | 8 - apps/example/utils/utilityTypes.ts | 7 - apps/website/.gitignore | 24 + apps/website/README.md | 13 + apps/website/astro.config.mjs | 14 + apps/website/package.json | 31 + apps/website/public/favicon.svg | 9 + apps/website/src/components/Button.astro | 18 + .../src/components/Primitives/H1.astro | 9 + .../src/components/Primitives/Header.astro | 9 + .../src/components/Primitives/Heading.astro | 1 + apps/website/src/env.d.ts | 1 + apps/website/src/layouts/DefaultLayout.astro | 29 + apps/website/src/modules/Demo/Demo.tsx | 8 + .../modules/Demo/components/CommandMenu.tsx | 68 + apps/website/src/modules/Demo/index.ts | 1 + apps/website/src/pages/index.astro | 23 + apps/website/src/styles/globals.css | 77 + apps/website/src/utils/styles.ts | 8 + apps/website/tsconfig.json | 3 + biome.json | 157 + package.json | 18 +- packages/commandmenu/.eslintrc.cjs | 10 - packages/commandmenu/dist/index.d.ts | 81 +- packages/commandmenu/dist/index.js | 518 +- packages/commandmenu/dist/index.mjs | 524 +- packages/commandmenu/package.json | 44 +- packages/commandmenu/src/index.ts | 11 +- packages/commandmenu/src/types.ts | 106 +- packages/commandmenu/src/useCommandMenu.ts | 620 +- packages/commandmenu/src/utils.ts | 103 +- packages/commandmenu/tsup.config.ts | 10 + pnpm-lock.yaml | 8590 +++++++++-------- pnpm-workspace.yaml | 4 +- turbo.json | 7 +- 95 files changed, 6185 insertions(+), 6550 deletions(-) delete mode 100644 .eslintrc.cjs delete mode 100644 .prettierrc.cjs create mode 100644 .zed/settings.json delete mode 100644 apps/example/.eslintrc.cjs delete mode 100644 apps/example/.vscode/settings.json delete mode 100644 apps/example/README.md delete mode 100644 apps/example/app/layout.tsx delete mode 100644 apps/example/app/page.tsx delete mode 100644 apps/example/components/Button/Button.tsx delete mode 100644 apps/example/components/Button/index.ts delete mode 100644 apps/example/components/CodeSnippet/CodeSnippet.tsx delete mode 100644 apps/example/components/CodeSnippet/index.ts delete mode 100644 apps/example/components/CodeSnippet/theme.ts delete mode 100644 apps/example/components/Footer/Footer.tsx delete mode 100644 apps/example/components/Footer/index.ts delete mode 100644 apps/example/components/Image/Image.tsx delete mode 100644 apps/example/components/Image/index.ts delete mode 100644 apps/example/components/Link/Link.tsx delete mode 100644 apps/example/components/Link/index.ts delete mode 100644 apps/example/components/PageMeta/PageMeta.tsx delete mode 100644 apps/example/components/PageMeta/index.ts delete mode 100644 apps/example/components/Primitives/Badges.tsx delete mode 100644 apps/example/components/Primitives/Headings.tsx delete mode 100644 apps/example/components/Primitives/Paragraph.tsx delete mode 100644 apps/example/components/Primitives/Section.tsx delete mode 100644 apps/example/components/Primitives/index.ts delete mode 100644 apps/example/components/TopMenu/TopMenu.tsx delete mode 100644 apps/example/components/TopMenu/index.ts delete mode 100644 apps/example/modules/Home/Home.tsx delete mode 100644 apps/example/modules/Home/components/Demo/Demo.tsx delete mode 100644 apps/example/modules/Home/components/Demo/config.tsx delete mode 100644 apps/example/modules/Home/components/Demo/index.ts delete mode 100644 apps/example/modules/Home/components/Heading/Heading.tsx delete mode 100644 apps/example/modules/Home/components/Heading/components/PackageName.tsx delete mode 100644 apps/example/modules/Home/components/Heading/index.ts delete mode 100644 apps/example/modules/Home/index.ts delete mode 100644 apps/example/modules/HowToUse/HowToUse.tsx delete mode 100644 apps/example/modules/HowToUse/components/AdvancedHeading.tsx delete mode 100644 apps/example/modules/HowToUse/components/HowToUseItem.tsx delete mode 100644 apps/example/modules/HowToUse/components/HowToUseSection.tsx delete mode 100644 apps/example/modules/HowToUse/constants.ts delete mode 100644 apps/example/modules/HowToUse/index.ts delete mode 100644 apps/example/modules/HowToUse/types.ts delete mode 100644 apps/example/next-env.d.ts delete mode 100644 apps/example/next.config.mjs delete mode 100644 apps/example/package.json delete mode 100644 apps/example/postcss.config.js delete mode 100644 apps/example/public/android-chrome-192x192.png delete mode 100644 apps/example/public/android-chrome-512x512.png delete mode 100644 apps/example/public/apple-touch-icon.png delete mode 100644 apps/example/public/favicon-32x32.png delete mode 100644 apps/example/public/favicon.ico delete mode 100644 apps/example/public/logo.svg delete mode 100644 apps/example/public/og.png delete mode 100644 apps/example/public/site.webmanifest delete mode 100644 apps/example/tailwind.config.cjs delete mode 100644 apps/example/tsconfig.json delete mode 100644 apps/example/utils/styles/colors.cjs delete mode 100644 apps/example/utils/styles/globals.css delete mode 100644 apps/example/utils/styles/utils.ts delete mode 100644 apps/example/utils/utilityTypes.ts create mode 100644 apps/website/.gitignore create mode 100644 apps/website/README.md create mode 100644 apps/website/astro.config.mjs create mode 100644 apps/website/package.json create mode 100644 apps/website/public/favicon.svg create mode 100644 apps/website/src/components/Button.astro create mode 100644 apps/website/src/components/Primitives/H1.astro create mode 100644 apps/website/src/components/Primitives/Header.astro create mode 100644 apps/website/src/components/Primitives/Heading.astro create mode 100644 apps/website/src/env.d.ts create mode 100644 apps/website/src/layouts/DefaultLayout.astro create mode 100644 apps/website/src/modules/Demo/Demo.tsx create mode 100644 apps/website/src/modules/Demo/components/CommandMenu.tsx create mode 100644 apps/website/src/modules/Demo/index.ts create mode 100644 apps/website/src/pages/index.astro create mode 100644 apps/website/src/styles/globals.css create mode 100644 apps/website/src/utils/styles.ts create mode 100644 apps/website/tsconfig.json create mode 100644 biome.json delete mode 100644 packages/commandmenu/.eslintrc.cjs create mode 100644 packages/commandmenu/tsup.config.ts diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 86c6f68..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@wojtekolek/eslint-config"], - settings: { - "import/resolver": { - typescript: { - project: ["apps/*/tsconfig.json", "packages/*/tsconfig.json"], - }, - node: { - project: ["apps/*/tsconfig.json", "packages/*/tsconfig.json"], - }, - }, - }, -}; diff --git a/.gitignore b/.gitignore index 849425f..06d9eeb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,15 +2,13 @@ # dependencies node_modules -.pnp -.pnp.js +dist # testing coverage -# next.js -.next/ -out/ +# astro +.astro build # misc diff --git a/.prettierrc.cjs b/.prettierrc.cjs deleted file mode 100644 index 3114a6f..0000000 --- a/.prettierrc.cjs +++ /dev/null @@ -1,8 +0,0 @@ -/** @type {import("prettier").Config} */ -module.exports = { - ...require("@wojtekolek/eslint-config/prettier.config"), - plugins: [ - ...require("@wojtekolek/eslint-config/prettier.config").plugins, - require("prettier-plugin-tailwindcss"), - ], -}; diff --git a/.zed/settings.json b/.zed/settings.json new file mode 100644 index 0000000..145ff67 --- /dev/null +++ b/.zed/settings.json @@ -0,0 +1,45 @@ +{ + // "formatter": { + // "language_server": { + // "name": "biome" + // } + // }, + "code_actions_on_format": { + "quickfix.biome": true, + "source.fixAll.biome": true, + "source.organizeImports.biome": true + }, + "lsp": { + "tailwindcss-language-server": { + "settings": { + "experimental": { + "classRegex": [ + [ + "cva\\(([^)]*)\\)", + "[\"'`]([^\"'`]*).*?[\"'`]" + ], + [ + "cn\\(([^)]*)\\)", + "(?:'|\"|`)([^']*)(?:'|\"|`)" + ] + ], + "configFile": "./packages/tailwind-config/config.css" + } + } + } + }, + // workaround for not working sorting + // https://github.com/zed-industries/zed/issues/15464 + "formatter": { + "external": { + "command": "npx", + "arguments": [ + "biome", + "check", + "--write", + "--stdin-file-path", + "{buffer_path}" + ] + } + } +} diff --git a/apps/example/.eslintrc.cjs b/apps/example/.eslintrc.cjs deleted file mode 100644 index 292b7e1..0000000 --- a/apps/example/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["../../.eslintrc.cjs", "@wojtekolek/eslint-config/nextjs"], -}; diff --git a/apps/example/.vscode/settings.json b/apps/example/.vscode/settings.json deleted file mode 100644 index 41db953..0000000 --- a/apps/example/.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/apps/example/README.md b/apps/example/README.md deleted file mode 100644 index 520dbbb..0000000 --- a/apps/example/README.md +++ /dev/null @@ -1 +0,0 @@ -## CommandPalette Example diff --git a/apps/example/app/layout.tsx b/apps/example/app/layout.tsx deleted file mode 100644 index 09a4608..0000000 --- a/apps/example/app/layout.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import type { FunctionComponent, ReactNode } from "react"; - -import { Analytics } from "@vercel/analytics/react"; -import type { Metadata } from "next"; -import { Montserrat } from "next/font/google"; - -import { Footer } from "components/Footer"; -import { TopMenu } from "components/TopMenu"; -import { colors } from "utils/styles/colors.cjs"; -import "utils/styles/globals.css"; - -const font = Montserrat({ - display: "swap", - subsets: ["latin"], - style: ["normal"], - weight: ["200", "400", "500"], - variable: "--font-montserrat", -}); - -const Title = "Command Menu — Headless UI for building command menus in React."; -const Description = "Headless UI for building command menus in React."; -const URL = "https://commandmenu.wojtekolek.com"; - -export const metadata: Metadata = { - title: Title, - description: Description, - keywords: ["Next.js", "React", "JavaScript", "Typescript", "CommandMenu"], - icons: { - icon: "/favicon.ico", - shortcut: "/favicon-32x32.png", - apple: "/apple-touch-icon.png", - }, - manifest: `${URL}/site.webmanifest`, - authors: [ - { - name: "Wojtek Olek", - url: "https://wojtekolek.com", - }, - ], - themeColor: [ - { media: "(prefers-color-scheme: light)", color: colors.primary[950] }, - { media: "(prefers-color-scheme: dark)", color: colors.primary[950] }, - ], - openGraph: { - title: "Command Menu", - description: Description, - url: URL, - siteName: "Command Menu", - images: [ - { - url: `${URL}/og.png`, - width: 1200, - height: 630, - }, - ], - locale: "en-US", - type: "website", - }, -}; - -type RootLayoutProps = { - children: ReactNode; -}; - -const RootLayout: FunctionComponent = ({ children }) => ( - - - -
{children}
-