From 7810ccb8895019180bb1d58f9d86e6551cb5f069 Mon Sep 17 00:00:00 2001 From: Mayank Kumar Chaudhari Date: Mon, 31 Jul 2023 19:51:32 +0530 Subject: [PATCH] add plugin --- README.md | 50 +++++++++++++++++++++++++++++++++++++++++++- esbuild-react18.jpg | Bin 0 -> 40507 bytes index.js | 19 +++++++++++++++++ package.json | 25 ++++++++++++++++++++++ 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 esbuild-react18.jpg create mode 100644 index.js create mode 100644 package.json diff --git a/README.md b/README.md index c40342b..33f32c7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,50 @@ # esbuild-react18-useclient -esbuild plugin for compiling libraries compatible with React 18 server and client component, Nextjs13, Remix, etc. + + + +> Build Awesome Libraries using React Server Components and make your Mark! + +This is an `esbuild` plugin for compiling libraries compatible with React 18 server and client component, Nextjs13, Remix, etc. + +Introduction of React server components in React 18 has unlocked immense possibilities. However, library authors are not yet able to fully encash upon this potential. Many libraries like `chakra-ui`, simply add "use client" for each component. However, much more can be unlashed when we can use both server and client components to build libraries. + +This plugin seamlessly integrates with `tsup` and other builders based on `esbuild`. With this you can have both server and client components in your library and the plugin will take care of the rest. All you need to do is add this plugin and add `"use client";` on top of client components. + +## Add dependencies: + +```bash +yarn add --dev esbuild-react18-useclient +``` + +or + +```bash +pnpm add -D esbuild-react18-useclient +``` + +or + +```bash +npm install -D esbuild-react18-useclient +``` + + + +## Use with `tsup` + +```javascript +// tsup.config.ts or tsup.config.js +import { defineConfig } from "tsup"; +import reactUseClient from "esbuild-react18-useclient"; + +export default defineConfig(options => ({ + ... + esbuildPlugins:[reactUseClient] +})); +``` + + + +## License + +Licensed as MIT open source. \ No newline at end of file diff --git a/esbuild-react18.jpg b/esbuild-react18.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bd72c966b8eee1345ec7811dd2e491bdc18a910 GIT binary patch literal 40507 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 C4ExLg literal 0 HcmV?d00001 diff --git a/index.js b/index.js new file mode 100644 index 0000000..1f426a2 --- /dev/null +++ b/index.js @@ -0,0 +1,19 @@ +const rxp = /['"]use client['"]\s?;/i; + +module.exports = { + name: "esbuild-react18-useclient", + setup(build) { + build.onEnd((result) => { + result.outputFiles + ?.filter((f) => !f.path.endsWith(".map")) + .forEach((f) => { + const txt = f.text; + if (txt.match(rxp)) { + Object.defineProperty(f, "text", { + value: '"use client";\n' + txt.replace(rxp, ""), + }); + } + }); + }); + }, +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..56579be --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "esbuild-react18-useclient", + "version": "1.0.0", + "description": "esbuild plugin for compiling libraries compatible with React 18 server and client component, Nextjs13, Remix, etc.", + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/mayank1513/esbuild-react18-useclient.git" + }, + "keywords": [ + "react", + "nextjs", + "react18", + "react-server-components", + "react-client-components", + "use client", + "rsc compatible" + ], + "author": "Mayank Kumar Chaudhari ", + "license": "MIT", + "bugs": { + "url": "https://github.com/mayank1513/esbuild-react18-useclient/issues" + }, + "homepage": "https://github.com/mayank1513/esbuild-react18-useclient#readme" +}