diff --git a/apps/wr/.gitignore b/apps/wr/.gitignore new file mode 100644 index 000000000..5ef6a5207 --- /dev/null +++ b/apps/wr/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/apps/wr/app/favicon.ico b/apps/wr/app/favicon.ico new file mode 100644 index 000000000..718d6fea4 Binary files /dev/null and b/apps/wr/app/favicon.ico differ diff --git a/apps/wr/app/globals.css b/apps/wr/app/globals.css new file mode 100644 index 000000000..56e5d1f86 --- /dev/null +++ b/apps/wr/app/globals.css @@ -0,0 +1,5 @@ +@import "../../../packages/common/components/src/base.css"; + +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/apps/wr/app/layout.tsx b/apps/wr/app/layout.tsx new file mode 100644 index 000000000..f7fa87eb8 --- /dev/null +++ b/apps/wr/app/layout.tsx @@ -0,0 +1,34 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/apps/wr/app/page.tsx b/apps/wr/app/page.tsx new file mode 100644 index 000000000..823f05a86 --- /dev/null +++ b/apps/wr/app/page.tsx @@ -0,0 +1,104 @@ +import Image from "next/image"; + +import { Button } from "@common/components"; + +export default function Home() { + return ( +
+ +
+ Next.js logo +
    +
  1. + Get started by editing{" "} + + app/page.tsx + + . +
  2. +
  3. Save and see your changes instantly.
  4. +
+ +
+ + Vercel logomark + Deploy now + + + Read our docs + +
+
+ +
+ ); +} diff --git a/apps/wr/eslint.config.mjs b/apps/wr/eslint.config.mjs new file mode 100644 index 000000000..c85fb67c4 --- /dev/null +++ b/apps/wr/eslint.config.mjs @@ -0,0 +1,16 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [ + ...compat.extends("next/core-web-vitals", "next/typescript"), +]; + +export default eslintConfig; diff --git a/apps/wr/next.config.ts b/apps/wr/next.config.ts new file mode 100644 index 000000000..e9ffa3083 --- /dev/null +++ b/apps/wr/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/apps/wr/package.json b/apps/wr/package.json new file mode 100644 index 000000000..c8fc4c33c --- /dev/null +++ b/apps/wr/package.json @@ -0,0 +1,23 @@ +{ + "name": "wr", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@common/components": "workspace:*", + "next": "15.1.7" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "eslint": "^9", + "eslint-config-next": "15.1.7", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/apps/wr/postcss.config.mjs b/apps/wr/postcss.config.mjs new file mode 100644 index 000000000..1a69fd2a4 --- /dev/null +++ b/apps/wr/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/apps/wr/public/file.svg b/apps/wr/public/file.svg new file mode 100644 index 000000000..004145cdd --- /dev/null +++ b/apps/wr/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/wr/public/globe.svg b/apps/wr/public/globe.svg new file mode 100644 index 000000000..567f17b0d --- /dev/null +++ b/apps/wr/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/wr/public/next.svg b/apps/wr/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/apps/wr/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/wr/public/vercel.svg b/apps/wr/public/vercel.svg new file mode 100644 index 000000000..770539603 --- /dev/null +++ b/apps/wr/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/wr/public/window.svg b/apps/wr/public/window.svg new file mode 100644 index 000000000..b2b2a44f6 --- /dev/null +++ b/apps/wr/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/wr/tailwind.config.ts b/apps/wr/tailwind.config.ts new file mode 100644 index 000000000..733f8d49b --- /dev/null +++ b/apps/wr/tailwind.config.ts @@ -0,0 +1,11 @@ +import baseConfig from "../../packages/common/components/tailwind.config"; + +import type { Config } from "tailwindcss"; + +export default { + presets: [baseConfig], + content: [ + "./app/**/*.{js,ts,jsx,tsx,mdx}", + "../../packages/common/components/src/ui/**/*.{js,ts,jsx,tsx,mdx}", + ], +} satisfies Config; diff --git a/apps/wr/tsconfig.json b/apps/wr/tsconfig.json new file mode 100644 index 000000000..cca165ba7 --- /dev/null +++ b/apps/wr/tsconfig.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "verbatimModuleSyntax": true, + "strictNullChecks": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"], + "@common/components/*": ["../../packages/common/components/src/*"], + "@common/components": ["../../packages/common/components/src/index"] + } + }, + "include": [ + ".eslintrc.*", + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + "**/*.mts", + "**/*.js", + "**/*.cjs", + "**/*.mjs", + "**/*.jsx", + "**/*.json", + ".next/types/**/*.ts" + ], + "exclude": ["**/node_modules", "**/.*/*"] +}