@lazarv/create-react-server 0.0.0-experimental-d003259-20250211-2495688e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/generator.mjs +195 -0
  4. package/globals.d.ts +59 -0
  5. package/index.mjs +87 -0
  6. package/launch.mjs +136 -0
  7. package/lib/code-merge.mjs +246 -0
  8. package/lib/dynamic-checkbox.mjs +259 -0
  9. package/lib/files.mjs +6 -0
  10. package/lib/formatter.mjs +16 -0
  11. package/lib/generate-name.mjs +220 -0
  12. package/lib/theme.mjs +56 -0
  13. package/logo.mjs +3 -0
  14. package/package.json +26 -0
  15. package/steps/alias.mjs +50 -0
  16. package/steps/authentication.mjs +62 -0
  17. package/steps/database.mjs +56 -0
  18. package/steps/deploy.mjs +151 -0
  19. package/steps/features.mjs +415 -0
  20. package/steps/host.mjs +40 -0
  21. package/steps/index.mjs +33 -0
  22. package/steps/integrations.mjs +104 -0
  23. package/steps/name.mjs +69 -0
  24. package/steps/package.mjs +104 -0
  25. package/steps/port.mjs +42 -0
  26. package/steps/preset.mjs +188 -0
  27. package/steps/state-management.mjs +68 -0
  28. package/steps/third-party.mjs +19 -0
  29. package/steps/ui.mjs +87 -0
  30. package/templates/.dockerignore +5 -0
  31. package/templates/.gitignore.template +19 -0
  32. package/templates/.prettierignore +3 -0
  33. package/templates/.prettierrc +11 -0
  34. package/templates/Dockerfile.npm +49 -0
  35. package/templates/Dockerfile.pnpm +71 -0
  36. package/templates/Dockerfile.yarn +71 -0
  37. package/templates/README.docker.md +15 -0
  38. package/templates/README.md +35 -0
  39. package/templates/blank/package.json +6 -0
  40. package/templates/blank/src/App.jsx +5 -0
  41. package/templates/blank-ts/package.json +6 -0
  42. package/templates/blank-ts/src/App.tsx +5 -0
  43. package/templates/eslint.config.template.mjs +98 -0
  44. package/templates/get-started/package.json +6 -0
  45. package/templates/get-started/src/App.jsx +60 -0
  46. package/templates/get-started/src/Button.jsx +14 -0
  47. package/templates/get-started/src/Confetti.jsx +19 -0
  48. package/templates/get-started/src/global.css +3 -0
  49. package/templates/get-started-ts/globals.d.ts +3 -0
  50. package/templates/get-started-ts/package.json +6 -0
  51. package/templates/get-started-ts/src/App.tsx +66 -0
  52. package/templates/get-started-ts/src/Button.tsx +18 -0
  53. package/templates/get-started-ts/src/Confetti.tsx +19 -0
  54. package/templates/get-started-ts/src/global.css +3 -0
  55. package/templates/nextjs/globals.d.ts +3 -0
  56. package/templates/nextjs/react-server.config.json +9 -0
  57. package/templates/nextjs/src/app/layout.tsx +38 -0
  58. package/templates/nextjs/src/app/page.tsx +33 -0
  59. package/templates/nextjs/src/components/Button.tsx +18 -0
  60. package/templates/nextjs/src/components/Confetti.tsx +19 -0
  61. package/templates/nextjs/src/global.css +3 -0
  62. package/templates/package.css.json +5 -0
  63. package/templates/package.eslint.json +19 -0
  64. package/templates/package.eslint.ts.json +7 -0
  65. package/templates/package.json +12 -0
  66. package/templates/package.lightningcss.json +6 -0
  67. package/templates/package.prettier.json +8 -0
  68. package/templates/package.react-compiler.json +7 -0
  69. package/templates/package.swc.json +5 -0
  70. package/templates/package.tailwind.json +7 -0
  71. package/templates/package.ts.json +11 -0
  72. package/templates/postcss.config.mjs +6 -0
  73. package/templates/router/globals.d.ts +3 -0
  74. package/templates/router/react-server.config.json +19 -0
  75. package/templates/router/src/app/@content/about.tsx +98 -0
  76. package/templates/router/src/app/@content/index.tsx +33 -0
  77. package/templates/router/src/app/layout.tsx +44 -0
  78. package/templates/router/src/app/page.tsx +17 -0
  79. package/templates/router/src/components/Button.tsx +18 -0
  80. package/templates/router/src/components/Confetti.tsx +19 -0
  81. package/templates/router/src/components/Navigation.tsx +31 -0
  82. package/templates/router/src/global.css +3 -0
  83. package/templates/shared/public/github.svg +4 -0
  84. package/templates/shared/public/react-server.svg +51 -0
  85. package/templates/tailwind.config.mjs +6 -0
  86. package/templates/tsconfig.css.json +9 -0
  87. package/templates/tsconfig.template.json +15 -0
  88. package/templates/vite.config.lightningcss.mjs +15 -0
  89. package/templates/vite.config.lightningcss.ts +15 -0
  90. package/templates/vite.config.react-compiler.mjs +19 -0
  91. package/templates/vite.config.react-compiler.ts +19 -0
  92. package/templates/vite.config.swc.mjs +6 -0
  93. package/templates/vite.config.swc.ts +6 -0
  94. package/templates/vite.config.ts +3 -0
  95. package/wizard.mjs +122 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "devDependencies": {
3
+ "browserslist": "^4.24.4",
4
+ "lightningcss": "^1.29.1"
5
+ }
6
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "scripts": {
3
+ "format": "prettier --write ."
4
+ },
5
+ "devDependencies": {
6
+ "prettier": "^3.2.5"
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "devDependencies": {
3
+ "babel-plugin-react-compiler": "0.0.0-experimental-a08709b-20250207",
4
+ "eslint-plugin-react-compiler": "0.0.0-experimental-a08709b-20250207",
5
+ "@vitejs/plugin-react": "^4.3.4"
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "devDependencies": {
3
+ "@vitejs/plugin-react-swc": "^3.7.0"
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "devDependencies": {
3
+ "autoprefixer": "^10.4.19",
4
+ "postcss": "^8.4.38",
5
+ "tailwindcss": "^3.4.3"
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "scripts": {
3
+ "typecheck": "tsc --noEmit"
4
+ },
5
+ "devDependencies": {
6
+ "@types/react": "^19.0.8",
7
+ "@types/react-dom": "^19.0.3",
8
+ "typescript": "^5.6.2",
9
+ "vite": "^6.1.0"
10
+ }
11
+ }
@@ -0,0 +1,6 @@
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ };
@@ -0,0 +1,3 @@
1
+ declare module "https://esm.sh/canvas-confetti" {
2
+ export default function confetti(): void;
3
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "root": "src/app",
3
+ "export": [
4
+ {
5
+ "path": "/"
6
+ },
7
+ {
8
+ "path": "/",
9
+ "outlet": "content"
10
+ },
11
+ {
12
+ "path": "/about"
13
+ },
14
+ {
15
+ "path": "/about",
16
+ "outlet": "content"
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,98 @@
1
+ function Link({ href, children }: { href: string; children: React.ReactNode }) {
2
+ return (
3
+ <a
4
+ href={href}
5
+ target="_blank"
6
+ rel="noreferrer"
7
+ className="text-indigo-500 dark:text-yellow-600"
8
+ >
9
+ {children}
10
+ </a>
11
+ );
12
+ }
13
+
14
+ export default function About() {
15
+ return (
16
+ <article className="flex flex-col gap-4 max-w-screen-lg m-8 text-lg">
17
+ <h1 className="text-2xl font-bold mb-0">About This App</h1>
18
+ <h2 className="text-xl font-semibold m-0">🛠 The framework</h2>
19
+ <p>
20
+ <b>@lazarv/react-server</b> is a modern meta-framework designed for
21
+ building high-performance, server-driven React applications. It
22
+ leverages React Server Components (RSC) with a unique delegation
23
+ approach, enabling seamless micro-frontend architectures and efficient
24
+ server-side rendering. With native ES module support and Vite-powered
25
+ optimizations, it ensures a fast and scalable developer experience.
26
+ </p>
27
+ <p>
28
+ Built for flexibility, <b>@lazarv/react-server</b> provides fine-grained
29
+ caching, robust runtime integrations, and a streamlined development
30
+ workflow. Whether you{"'"}re crafting a single app or orchestrating
31
+ multiple micro-frontends, it offers the tools to enhance performance,
32
+ maintainability, and scalability.
33
+ </p>
34
+ <h2 className="text-xl font-semibold m-0">
35
+ 🚀 Welcome to Your New React Server App!
36
+ </h2>
37
+ <p>
38
+ This project was created using the <b>@lazarv/create-react-server</b>{" "}
39
+ CLI tool, setting up a fully functional React Server Components (RSC)
40
+ app with file-system based routing and server functions out of the box.
41
+ </p>
42
+ <h2 className="text-xl font-semibold m-0">
43
+ 🗂 File-system based routing
44
+ </h2>
45
+ <ul className="list-disc pl-6">
46
+ <li>
47
+ Add files to <b>/src/app</b> to{" "}
48
+ <Link href="https://react-server.dev/router/define-routes">
49
+ define
50
+ </Link>{" "}
51
+ layouts, pages and{" "}
52
+ <Link href="https://react-server.dev/router/api">API routes</Link>
53
+ </li>
54
+ <li>
55
+ Use{" "}
56
+ <Link href="https://react-server.dev/router/outlets">outlets</Link> to
57
+ optimize loading content
58
+ </li>
59
+ <li>
60
+ Add{" "}
61
+ <Link href="https://react-server.dev/router/loading">loading</Link>{" "}
62
+ and{" "}
63
+ <Link href="https://react-server.dev/router/error-handling">
64
+ error handling
65
+ </Link>{" "}
66
+ to your routes
67
+ </li>
68
+ </ul>
69
+ <h2 className="text-xl font-semibold m-0 flex items-center">
70
+ <img src="/react-server.svg" alt="" className="inline-block h-4 mr-1" />{" "}
71
+ Use React Server Components & Server Functions
72
+ </h2>
73
+ <ul className="list-disc pl-6">
74
+ <li>
75
+ React Server Components allow efficient rendering without client-side
76
+ JavaScript
77
+ </li>
78
+ <li>
79
+ Client Components can be used by adding <b>{`"use client";`}</b> at
80
+ the top of a file
81
+ </li>
82
+ <li>
83
+ Server Functions enable seamless server-side logic execution by using{" "}
84
+ <b>{`"use server";`}</b>
85
+ </li>
86
+ </ul>
87
+ <h2 className="text-xl font-semibold m-0">📌 Need Help?</h2>
88
+ <p>
89
+ Check out the official{" "}
90
+ <Link href="https://react-server.dev">documentation</Link> or join the{" "}
91
+ <Link href="https://github.com/lazarv/react-server/discussions">
92
+ discussions
93
+ </Link>{" "}
94
+ for support!
95
+ </p>
96
+ </article>
97
+ );
98
+ }
@@ -0,0 +1,33 @@
1
+ import Confetti from "~/components/Confetti";
2
+
3
+ export default function Home() {
4
+ return (
5
+ <>
6
+ <section className="flex flex-col mt-auto">
7
+ <div className="relative">
8
+ <img
9
+ src="/react-server.svg"
10
+ className="absolute h-[85%] top-1/2 -translate-x-full -translate-y-1/2 -ml-1"
11
+ alt="@lazarv/react-server logo"
12
+ />
13
+ <h2 className="text-xs font-semibold m-0 pt-0 border-none dark:text-yellow-500 mt-4 sm:mt-0">
14
+ @lazarv
15
+ </h2>
16
+ <h1 className="text-5xl font-semibold m-0 -mt-4 whitespace-nowrap sm:text-6xl dark:text-yellow-500">
17
+ react-server
18
+ </h1>
19
+ </div>
20
+
21
+ <p className="text-lg">
22
+ Welcome to your <b>@lazarv/react-server</b> app!
23
+ </p>
24
+ </section>
25
+
26
+ <Confetti className="mt-4" />
27
+
28
+ <p className="text-sm mt-4">
29
+ Try editing <b>src/app/@content/index.tsx</b> and save to reload.
30
+ </p>
31
+ </>
32
+ );
33
+ }
@@ -0,0 +1,44 @@
1
+ import "~/global.css";
2
+
3
+ import { usePathname } from "@lazarv/react-server";
4
+ import Navigation from "~/components/Navigation";
5
+
6
+ export default function Layout({ children }: { children: React.ReactNode }) {
7
+ const pathname = usePathname();
8
+
9
+ return (
10
+ <html lang="en" className="h-screen" suppressHydrationWarning>
11
+ <head></head>
12
+ <body
13
+ className="w-full min-h-full flex flex-col justify-center items-center dark:bg-zinc-900 dark:text-gray-400"
14
+ suppressHydrationWarning
15
+ >
16
+ <Navigation pathname={pathname} />
17
+ <a
18
+ href="https://github.com/lazarv/react-server"
19
+ target="_blank"
20
+ rel="noreferrer"
21
+ >
22
+ <img
23
+ src="/github.svg"
24
+ alt="GitHub page"
25
+ className="absolute top-2 right-2 w-6 h-6"
26
+ />
27
+ </a>
28
+ {children}
29
+ <p className="text-sm mt-auto mb-2">
30
+ Visit{" "}
31
+ <a
32
+ href="https://react-server.dev"
33
+ target="_blank"
34
+ className="text-indigo-500 dark:text-yellow-500"
35
+ rel="noreferrer"
36
+ >
37
+ react-server.dev
38
+ </a>{" "}
39
+ to learn more about <b>@lazarv/react-server</b>.
40
+ </p>
41
+ </body>
42
+ </html>
43
+ );
44
+ }
@@ -0,0 +1,17 @@
1
+ import { ReactServerComponent } from "@lazarv/react-server/navigation";
2
+ import { Route } from "@lazarv/react-server/router";
3
+ import Home from "~/app/@content";
4
+ import About from "~/app/@content/about";
5
+
6
+ export default function Page() {
7
+ return (
8
+ <ReactServerComponent outlet="content">
9
+ <Route path="/" exact>
10
+ <Home />
11
+ </Route>
12
+ <Route path="/about" exact>
13
+ <About />
14
+ </Route>
15
+ </ReactServerComponent>
16
+ );
17
+ }
@@ -0,0 +1,18 @@
1
+ export type ButtonProps = React.PropsWithChildren<
2
+ React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>
3
+ >;
4
+
5
+ export default function Button({ className, children, ...props }: ButtonProps) {
6
+ return (
7
+ <button
8
+ className={`${className} rounded-full p-1 inline-flex items-center text-black hover:no-underline from-rose-400 via-fuchsia-500 to-indigo-500 bg-gradient-to-r hover:drop-shadow`}
9
+ >
10
+ <div
11
+ {...props}
12
+ className="block rounded-full p-2 px-4 text-sm sm:text-base bg-white dark:bg-gray-900 dark:text-white hover:bg-transparent dark:hover:bg-transparent hover:text-white dark:hover:text-white"
13
+ >
14
+ {children}
15
+ </div>
16
+ </button>
17
+ );
18
+ }
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import Button, { type ButtonProps } from "~/components/Button";
4
+
5
+ export default function Confetti(props: ButtonProps) {
6
+ return (
7
+ <Button
8
+ {...props}
9
+ onClick={async () => {
10
+ const { default: confetti } = await import(
11
+ "https://esm.sh/canvas-confetti"
12
+ );
13
+ confetti();
14
+ }}
15
+ >
16
+ Celebrate!
17
+ </Button>
18
+ );
19
+ }
@@ -0,0 +1,31 @@
1
+ "use client";
2
+
3
+ import { Link, usePathname } from "@lazarv/react-server/navigation";
4
+
5
+ export default function Navigation() {
6
+ const pathname = usePathname("content");
7
+
8
+ return (
9
+ <nav
10
+ className="sticky top-0 flex gap-4 bg-slate-200 p-4 dark:bg-zinc-800"
11
+ data-pathname={pathname}
12
+ >
13
+ <Link
14
+ to="/"
15
+ target="content"
16
+ push
17
+ className="text-2xl uppercase font-bold px-4 [[data-pathname='/']_&]:text-indigo-500 dark:[[data-pathname='/']_&]:text-yellow-600"
18
+ >
19
+ Home
20
+ </Link>
21
+ <Link
22
+ to="/about"
23
+ target="content"
24
+ push
25
+ className="text-2xl uppercase font-bold px-4 [[data-pathname='/about']_&]:text-indigo-500 dark:[[data-pathname='/about']_&]:text-yellow-600"
26
+ >
27
+ About
28
+ </Link>
29
+ </nav>
30
+ );
31
+ }
@@ -0,0 +1,3 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -0,0 +1,4 @@
1
+ <svg width="98" height="96" viewBox="0 0 98 96" fill="none"
2
+ xmlns="http://www.w3.org/2000/svg">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/>
4
+ </svg>
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="128"
6
+ height="128"
7
+ viewBox="0 0 33.866666 33.866667"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
13
+ id="defs1" /><g
14
+ id="layer1"><g
15
+ id="g1"
16
+ transform="matrix(1.4232434,0,0,1.4232434,16.915196,17.10368)"><g
17
+ stroke="#61dafb"
18
+ stroke-width="1"
19
+ fill="none"
20
+ id="g3"><ellipse
21
+ rx="11"
22
+ ry="4.1999998"
23
+ id="ellipse1"
24
+ cx="0"
25
+ cy="0" /><ellipse
26
+ rx="11"
27
+ ry="4.1999998"
28
+ transform="rotate(60)"
29
+ id="ellipse2"
30
+ cx="0"
31
+ cy="0" /><ellipse
32
+ rx="11"
33
+ ry="4.1999998"
34
+ transform="rotate(120)"
35
+ id="ellipse3"
36
+ cx="0"
37
+ cy="0"
38
+ style="fill:#ffffff;fill-opacity:0" /></g><ellipse
39
+ fill="#61dafb"
40
+ id="circle1-46"
41
+ style="stroke-width:1.01735"
42
+ ry="4.826261"
43
+ rx="4.215796"
44
+ cy="0.15913987"
45
+ cx="-0.031601399" /></g><path
46
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.1;stroke-dasharray:none;stroke-opacity:1;stroke-linejoin:round;stroke-linecap:butt"
47
+ d="m 12.509642,30.690503 -0.05834,-0.05685 -7.23e-4,-0.0561 -7.23e-4,-0.05611 0.768979,-2.092476 0.768982,-2.092473 0.556751,-1.543372 0.556748,-1.543368 0.006,-0.120103 0.006,-0.120088 -1.470798,0.0062 -1.470797,0.0062 -0.06194,-0.0727 -0.06194,-0.0727 0.233074,-0.46889 0.233073,-0.468892 0.856189,-1.667244 0.85619,-1.667245 0.41769,-0.85935 0.417689,-0.859349 -0.02911,-0.04578 -0.02911,-0.04576 -1.464266,0.01887 -1.464263,0.01887 -0.09348,-0.0485 -0.09349,-0.0485 -0.0011,-0.08618 -0.0011,-0.08616 0.11036,-0.213586 0.110359,-0.213582 1.014121,-2.024324 1.014119,-2.024327 0.696804,-1.43016 0.696802,-1.4301581 0.701201,-1.4012125 0.701198,-1.4012124 2.501594,-0.044655 2.501597,-0.044655 0.03154,0.079108 0.03152,0.079108 -0.04589,0.1264481 -0.04587,0.1264636 -0.768293,1.3291372 -0.768291,1.3291355 -0.6677,1.1797846 -0.6677,1.179784 0.02576,0.06464 0.02576,0.06464 1.695367,-0.02185 1.695368,-0.02185 0.07639,0.07444 0.07639,0.07446 7.89e-4,0.06124 7.9e-4,0.06124 -0.249474,0.406592 -0.249474,0.40659 -0.614255,0.968038 -0.614255,0.968039 -1.187109,1.911536 -1.187107,1.91154 -0.06878,0.13724 -0.06879,0.13724 0.02683,0.06732 0.02683,0.06732 1.62427,-0.02093 1.624265,-0.02093 0.09295,0.06616 0.09294,0.06612 -0.04534,0.122827 -0.04534,0.122843 -1.34915,1.664026 -1.349152,1.664023 -0.8062,1.018519 -0.8062,1.018517 -0.670268,0.824742 -0.670264,0.824741 -1.724844,2.146499 -1.724842,2.146498 -0.05964,7.69e-4 -0.05966,7.69e-4 z"
48
+ id="path1-1" /><path
49
+ style="fill:#ffd22a;fill-opacity:1;stroke:#ffffff;stroke-width:0.4;stroke-dasharray:none;stroke-opacity:1;stroke-linejoin:round;stroke-linecap:round"
50
+ d="m 12.509642,30.690503 -0.05834,-0.05685 -7.23e-4,-0.0561 -7.23e-4,-0.05611 0.768979,-2.092476 0.768982,-2.092473 0.556751,-1.543372 0.556748,-1.543368 0.006,-0.120103 0.006,-0.120088 -1.470798,0.0062 -1.470797,0.0062 -0.06194,-0.0727 -0.06194,-0.0727 0.233074,-0.46889 0.233073,-0.468892 0.856189,-1.667244 0.85619,-1.667245 0.41769,-0.85935 0.417689,-0.859349 -0.02911,-0.04578 -0.02911,-0.04576 -1.464266,0.01887 -1.464263,0.01887 -0.09348,-0.0485 -0.09349,-0.0485 -0.0011,-0.08618 -0.0011,-0.08616 0.11036,-0.213586 0.110359,-0.213582 1.014121,-2.024324 1.014119,-2.024327 0.696804,-1.43016 0.696802,-1.4301581 0.701201,-1.4012125 0.701198,-1.4012124 2.501594,-0.044655 2.501597,-0.044655 0.03154,0.079108 0.03152,0.079108 -0.04589,0.1264481 -0.04587,0.1264636 -0.768293,1.3291372 -0.768291,1.3291355 -0.6677,1.1797846 -0.6677,1.179784 0.02576,0.06464 0.02576,0.06464 1.695367,-0.02185 1.695368,-0.02185 0.07639,0.07444 0.07639,0.07446 7.89e-4,0.06124 7.9e-4,0.06124 -0.249474,0.406592 -0.249474,0.40659 -0.614255,0.968038 -0.614255,0.968039 -1.187109,1.911536 -1.187107,1.91154 -0.06878,0.13724 -0.06879,0.13724 0.02683,0.06732 0.02683,0.06732 1.62427,-0.02093 1.624265,-0.02093 0.09295,0.06616 0.09294,0.06612 -0.04534,0.122827 -0.04534,0.122843 -1.34915,1.664026 -1.349152,1.664023 -0.8062,1.018519 -0.8062,1.018517 -0.670268,0.824742 -0.670264,0.824741 -1.724844,2.146499 -1.724842,2.146498 -0.05964,7.69e-4 -0.05966,7.69e-4 z"
51
+ id="path1" /></g></svg>
@@ -0,0 +1,6 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: ["src/**/*.{js,jsx,ts,tsx}"],
4
+ theme: {},
5
+ plugins: [],
6
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "compilerOptions": {
3
+ "plugins": [
4
+ {
5
+ "name": "typescript-plugin-css-modules"
6
+ }
7
+ ]
8
+ }
9
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "ESNext",
4
+ "moduleResolution": "Bundler",
5
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
6
+ "types": ["react/experimental", "react-dom/experimental"],
7
+ "jsx": "preserve",
8
+ "baseUrl": "./src",
9
+ "strict": true,
10
+ "allowSyntheticDefaultImports": true,
11
+ "skipLibCheck": true
12
+ },
13
+ "include": ["**/*.ts", "**/*.tsx", ".react-server/**/*.ts"],
14
+ "exclude": ["**/*.js", "**/*.mjs"]
15
+ }
@@ -0,0 +1,15 @@
1
+ import browserslist from "browserslist";
2
+ import { browserslistToTargets } from "lightningcss";
3
+ import { defineConfig } from "vite";
4
+
5
+ export default defineConfig({
6
+ css: {
7
+ transformer: "lightningcss",
8
+ lightningcss: {
9
+ targets: browserslistToTargets(browserslist(">= 0.25%")),
10
+ },
11
+ },
12
+ build: {
13
+ cssMinify: "lightningcss",
14
+ },
15
+ });
@@ -0,0 +1,15 @@
1
+ import browserslist from "browserslist";
2
+ import { browserslistToTargets } from "lightningcss";
3
+ import { defineConfig } from "vite";
4
+
5
+ export default defineConfig({
6
+ css: {
7
+ transformer: "lightningcss",
8
+ lightningcss: {
9
+ targets: browserslistToTargets(browserslist(">= 0.25%")),
10
+ },
11
+ },
12
+ build: {
13
+ cssMinify: "lightningcss",
14
+ },
15
+ });
@@ -0,0 +1,19 @@
1
+ import react from "@vitejs/plugin-react";
2
+ import { defineConfig } from "vite";
3
+
4
+ export default defineConfig({
5
+ plugins: [
6
+ react({
7
+ babel: {
8
+ plugins: [
9
+ [
10
+ "babel-plugin-react-compiler",
11
+ {
12
+ compilationMode: "annotation",
13
+ },
14
+ ],
15
+ ],
16
+ },
17
+ }),
18
+ ],
19
+ });
@@ -0,0 +1,19 @@
1
+ import react from "@vitejs/plugin-react";
2
+ import { defineConfig } from "vite";
3
+
4
+ export default defineConfig({
5
+ plugins: [
6
+ react({
7
+ babel: {
8
+ plugins: [
9
+ [
10
+ "babel-plugin-react-compiler",
11
+ {
12
+ compilationMode: "annotation",
13
+ },
14
+ ],
15
+ ],
16
+ },
17
+ }),
18
+ ],
19
+ });
@@ -0,0 +1,6 @@
1
+ import react from "@vitejs/plugin-react-swc";
2
+ import { defineConfig } from "vite";
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ });
@@ -0,0 +1,6 @@
1
+ import react from "@vitejs/plugin-react-swc";
2
+ import { defineConfig } from "vite";
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ });
@@ -0,0 +1,3 @@
1
+ import { defineConfig } from "vite";
2
+
3
+ export default defineConfig({});