From 108284cd3a9d4e2f5bcbac0bcf61b289d9a43023 Mon Sep 17 00:00:00 2001 From: Thomas Knickman Date: Mon, 20 Dec 2021 13:39:03 -0500 Subject: [PATCH 1/4] fix(examples): inject react runtime for ui package --- .../apps/storefront/src/pages/index.tsx | 3 ++- .../kitchen-sink/packages/ui/package.json | 4 +-- .../kitchen-sink/packages/ui/react-shim.js | 3 +++ .../packages/ui/src/Button/index.tsx | 11 ++++++++ .../__tests__/index.test.tsx | 0 .../__tests__/tsconfig.json | 0 .../packages/ui/src/CounterButton/index.tsx | 23 +++++++++++++++++ .../kitchen-sink/packages/ui/src/index.tsx | 25 ++----------------- 8 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 examples/kitchen-sink/packages/ui/react-shim.js create mode 100644 examples/kitchen-sink/packages/ui/src/Button/index.tsx rename examples/kitchen-sink/packages/ui/src/{ => CounterButton}/__tests__/index.test.tsx (100%) rename examples/kitchen-sink/packages/ui/src/{ => CounterButton}/__tests__/tsconfig.json (100%) create mode 100644 examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx diff --git a/examples/kitchen-sink/apps/storefront/src/pages/index.tsx b/examples/kitchen-sink/apps/storefront/src/pages/index.tsx index 79bc173853331..babd5d3c72a7c 100644 --- a/examples/kitchen-sink/apps/storefront/src/pages/index.tsx +++ b/examples/kitchen-sink/apps/storefront/src/pages/index.tsx @@ -1,5 +1,5 @@ import { log } from "logger"; -import { CounterButton } from "ui"; +import { CounterButton, Button } from "ui"; export default function Store() { log("Hey! This is Home."); @@ -7,6 +7,7 @@ export default function Store() {

Store

+
); } diff --git a/examples/kitchen-sink/packages/ui/package.json b/examples/kitchen-sink/packages/ui/package.json index ec36acd0a3dc3..3d2de4731b0b2 100644 --- a/examples/kitchen-sink/packages/ui/package.json +++ b/examples/kitchen-sink/packages/ui/package.json @@ -12,8 +12,8 @@ ], "scripts": { "test": "jest", - "build": "tsup src/index.tsx --format esm,cjs --dts --external react", - "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react", + "build": "tsup src/index.tsx --format esm,cjs --dts --external react --inject react-shim.js", + "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react --inject react-shim.js", "lint": "TIMING=1 eslint src --fix", "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" }, diff --git a/examples/kitchen-sink/packages/ui/react-shim.js b/examples/kitchen-sink/packages/ui/react-shim.js new file mode 100644 index 0000000000000..d14e6dd035ef9 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/react-shim.js @@ -0,0 +1,3 @@ +// Explanation for why this is required: https://esbuild.github.io/content-types/#auto-import-for-jsx +import React from 'react' +export { React } diff --git a/examples/kitchen-sink/packages/ui/src/Button/index.tsx b/examples/kitchen-sink/packages/ui/src/Button/index.tsx new file mode 100644 index 0000000000000..763b7dbe9b229 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/Button/index.tsx @@ -0,0 +1,11 @@ +export const Button = ({ children, ...other }) => { + return ( + + ); +}; diff --git a/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx b/examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/index.test.tsx similarity index 100% rename from examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx rename to examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/index.test.tsx diff --git a/examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json b/examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/tsconfig.json similarity index 100% rename from examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json rename to examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/tsconfig.json diff --git a/examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx b/examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx new file mode 100644 index 0000000000000..cacfb90e12054 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; + +export const CounterButton = () => { + const [count, setCount] = React.useState(0); + return ( +
+

+ This is component iadasdfsdfdffsfsds from ui +

+

+ +

+
+ ); +}; diff --git a/examples/kitchen-sink/packages/ui/src/index.tsx b/examples/kitchen-sink/packages/ui/src/index.tsx index cacfb90e12054..1ee0b938d8574 100644 --- a/examples/kitchen-sink/packages/ui/src/index.tsx +++ b/examples/kitchen-sink/packages/ui/src/index.tsx @@ -1,23 +1,2 @@ -import * as React from "react"; - -export const CounterButton = () => { - const [count, setCount] = React.useState(0); - return ( -
-

- This is component iadasdfsdfdffsfsds from ui -

-

- -

-
- ); -}; +export { Button } from './Button'; +export { CounterButton } from './CounterButton'; From 47de4f7b03b3d7362994fcd44fae8c17630c82de Mon Sep 17 00:00:00 2001 From: Thomas Knickman Date: Mon, 20 Dec 2021 17:16:35 -0500 Subject: [PATCH 2/4] fix(examples): pr feedback - change src structure --- .../packages/ui/src/{Button/index.tsx => Button.tsx} | 0 .../ui/src/{CounterButton/index.tsx => CounterButton.tsx} | 0 .../ui/src/{CounterButton => }/__tests__/index.test.tsx | 2 +- .../packages/ui/src/{CounterButton => }/__tests__/tsconfig.json | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename examples/kitchen-sink/packages/ui/src/{Button/index.tsx => Button.tsx} (100%) rename examples/kitchen-sink/packages/ui/src/{CounterButton/index.tsx => CounterButton.tsx} (100%) rename examples/kitchen-sink/packages/ui/src/{CounterButton => }/__tests__/index.test.tsx (85%) rename examples/kitchen-sink/packages/ui/src/{CounterButton => }/__tests__/tsconfig.json (100%) diff --git a/examples/kitchen-sink/packages/ui/src/Button/index.tsx b/examples/kitchen-sink/packages/ui/src/Button.tsx similarity index 100% rename from examples/kitchen-sink/packages/ui/src/Button/index.tsx rename to examples/kitchen-sink/packages/ui/src/Button.tsx diff --git a/examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx b/examples/kitchen-sink/packages/ui/src/CounterButton.tsx similarity index 100% rename from examples/kitchen-sink/packages/ui/src/CounterButton/index.tsx rename to examples/kitchen-sink/packages/ui/src/CounterButton.tsx diff --git a/examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/index.test.tsx b/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx similarity index 85% rename from examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/index.test.tsx rename to examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx index a853a2b79fc49..89562084b1752 100644 --- a/examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/index.test.tsx +++ b/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import * as ReactDOM from "react-dom"; -import { CounterButton } from "../index"; +import { CounterButton } from "../CounterButton"; describe("CounterButton", () => { it("renders without crashing", () => { diff --git a/examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/tsconfig.json b/examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json similarity index 100% rename from examples/kitchen-sink/packages/ui/src/CounterButton/__tests__/tsconfig.json rename to examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json From f899f4a1eb1055e9ec2ba953e5baaa0617c90aeb Mon Sep 17 00:00:00 2001 From: Thomas Knickman Date: Wed, 22 Dec 2021 10:24:02 -0500 Subject: [PATCH 3/4] chore: prettier --- examples/kitchen-sink/apps/blog/app/entry.server.tsx | 2 +- examples/kitchen-sink/apps/blog/app/root.tsx | 8 ++++---- .../kitchen-sink/apps/blog/app/routes/demos/about.tsx | 2 +- examples/kitchen-sink/packages/ui/src/Button.tsx | 6 +----- examples/kitchen-sink/packages/ui/src/index.tsx | 4 ++-- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/examples/kitchen-sink/apps/blog/app/entry.server.tsx b/examples/kitchen-sink/apps/blog/app/entry.server.tsx index d2051de0ea187..cef2e81af7164 100644 --- a/examples/kitchen-sink/apps/blog/app/entry.server.tsx +++ b/examples/kitchen-sink/apps/blog/app/entry.server.tsx @@ -16,6 +16,6 @@ export default function handleRequest( return new Response("" + markup, { status: responseStatusCode, - headers: responseHeaders + headers: responseHeaders, }); } diff --git a/examples/kitchen-sink/apps/blog/app/root.tsx b/examples/kitchen-sink/apps/blog/app/root.tsx index 10673c9bd9fcd..0aa52f54a2a0d 100644 --- a/examples/kitchen-sink/apps/blog/app/root.tsx +++ b/examples/kitchen-sink/apps/blog/app/root.tsx @@ -6,7 +6,7 @@ import { Outlet, Scripts, ScrollRestoration, - useCatch + useCatch, } from "remix"; import type { LinksFunction } from "remix"; @@ -20,8 +20,8 @@ export let links: LinksFunction = () => { { rel: "stylesheet", href: darkStylesUrl, - media: "(prefers-color-scheme: dark)" - } + media: "(prefers-color-scheme: dark)", + }, ]; }; @@ -95,7 +95,7 @@ export function CatchBoundary() { function Document({ children, - title + title, }: { children: React.ReactNode; title?: string; diff --git a/examples/kitchen-sink/apps/blog/app/routes/demos/about.tsx b/examples/kitchen-sink/apps/blog/app/routes/demos/about.tsx index e44e8279ea3d2..6fc03b0244a3c 100644 --- a/examples/kitchen-sink/apps/blog/app/routes/demos/about.tsx +++ b/examples/kitchen-sink/apps/blog/app/routes/demos/about.tsx @@ -5,7 +5,7 @@ import stylesUrl from "~/styles/demos/about.css"; export let meta: MetaFunction = () => { return { - title: "About Remix" + title: "About Remix", }; }; diff --git a/examples/kitchen-sink/packages/ui/src/Button.tsx b/examples/kitchen-sink/packages/ui/src/Button.tsx index 763b7dbe9b229..458a6fbd09a53 100644 --- a/examples/kitchen-sink/packages/ui/src/Button.tsx +++ b/examples/kitchen-sink/packages/ui/src/Button.tsx @@ -1,10 +1,6 @@ export const Button = ({ children, ...other }) => { return ( - ); diff --git a/examples/kitchen-sink/packages/ui/src/index.tsx b/examples/kitchen-sink/packages/ui/src/index.tsx index 1ee0b938d8574..84267ff972971 100644 --- a/examples/kitchen-sink/packages/ui/src/index.tsx +++ b/examples/kitchen-sink/packages/ui/src/index.tsx @@ -1,2 +1,2 @@ -export { Button } from './Button'; -export { CounterButton } from './CounterButton'; +export { Button } from "./Button"; +export { CounterButton } from "./CounterButton"; From d29e18e0baf12f3ac5982456bdc1b631d489e474 Mon Sep 17 00:00:00 2001 From: Thomas Knickman Date: Wed, 22 Dec 2021 11:43:18 -0500 Subject: [PATCH 4/4] fix(examples): better example component --- .../apps/storefront/src/pages/index.tsx | 6 ++++-- examples/kitchen-sink/packages/ui/src/Button.tsx | 7 ------- .../kitchen-sink/packages/ui/src/NewTabLink.tsx | 14 ++++++++++++++ examples/kitchen-sink/packages/ui/src/index.tsx | 2 +- 4 files changed, 19 insertions(+), 10 deletions(-) delete mode 100644 examples/kitchen-sink/packages/ui/src/Button.tsx create mode 100644 examples/kitchen-sink/packages/ui/src/NewTabLink.tsx diff --git a/examples/kitchen-sink/apps/storefront/src/pages/index.tsx b/examples/kitchen-sink/apps/storefront/src/pages/index.tsx index babd5d3c72a7c..c60cd9383101d 100644 --- a/examples/kitchen-sink/apps/storefront/src/pages/index.tsx +++ b/examples/kitchen-sink/apps/storefront/src/pages/index.tsx @@ -1,5 +1,5 @@ import { log } from "logger"; -import { CounterButton, Button } from "ui"; +import { CounterButton, NewTabLink } from "ui"; export default function Store() { log("Hey! This is Home."); @@ -7,7 +7,9 @@ export default function Store() {

Store

- + + Built With TurboRepo +
); } diff --git a/examples/kitchen-sink/packages/ui/src/Button.tsx b/examples/kitchen-sink/packages/ui/src/Button.tsx deleted file mode 100644 index 458a6fbd09a53..0000000000000 --- a/examples/kitchen-sink/packages/ui/src/Button.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export const Button = ({ children, ...other }) => { - return ( - - ); -}; diff --git a/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx b/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx new file mode 100644 index 0000000000000..890b67d51b2c1 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx @@ -0,0 +1,14 @@ +export const NewTabLink = ({ + children, + href, + ...other +}: { + children: React.ReactNode; + href: string; +}) => { + return ( + + {children} + + ); +}; diff --git a/examples/kitchen-sink/packages/ui/src/index.tsx b/examples/kitchen-sink/packages/ui/src/index.tsx index 84267ff972971..dae141cd61d81 100644 --- a/examples/kitchen-sink/packages/ui/src/index.tsx +++ b/examples/kitchen-sink/packages/ui/src/index.tsx @@ -1,2 +1,2 @@ -export { Button } from "./Button"; +export { NewTabLink } from "./NewTabLink"; export { CounterButton } from "./CounterButton";