From 8ef8a34d62ecba01322f6ffcf021444b1c0d1d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Mon, 27 Jul 2026 03:50:33 +0200 Subject: [PATCH] Refactor --- .gitea/workflows/publish.yaml | 7 +++++++ packages/docs/docs/getting-started.md | 6 +++--- packages/example/vite.config.ts | 4 ++-- packages/vite-plugin/README.md | 4 ++-- packages/vite-plugin/src/index.ts | 2 +- packages/vite-plugin/src/plugin.test.ts | 8 ++++---- reports/REACT_REFRESH_FEASIBILITY.md | 2 +- 7 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml index 7edd56c..f553df5 100644 --- a/.gitea/workflows/publish.yaml +++ b/.gitea/workflows/publish.yaml @@ -40,6 +40,13 @@ jobs: access: public token: ${{ secrets.NPM_TOKEN }} registry: https://registry.npmjs.org + - name: Publish effect-fc + uses: JS-DevTools/npm-publish@v4 + with: + package: packages/effect-fc + access: public + token: ${{ secrets.NPM_TOKEN }} + registry: https://registry.npmjs.org - name: Clean before Docker build run: | diff --git a/packages/docs/docs/getting-started.md b/packages/docs/docs/getting-started.md index 15cae5d..71f7806 100644 --- a/packages/docs/docs/getting-started.md +++ b/packages/docs/docs/getting-started.md @@ -44,16 +44,16 @@ Effect View components: npm install --save-dev @effect-view/vite-plugin ``` -Add `effectViewPlugin()` before the React plugin in your Vite configuration: +Add `effectView()` before the React plugin in your Vite configuration: ```ts title="vite.config.ts" -import { effectViewPlugin } from "@effect-view/vite-plugin" +import { effectView } from "@effect-view/vite-plugin" import react from "@vitejs/plugin-react" import { defineConfig } from "vite" export default defineConfig({ plugins: [ - effectViewPlugin(), + effectView(), react(), ], }) diff --git a/packages/example/vite.config.ts b/packages/example/vite.config.ts index 45684ff..325fab8 100644 --- a/packages/example/vite.config.ts +++ b/packages/example/vite.config.ts @@ -1,6 +1,6 @@ import { tanstackRouter } from "@tanstack/router-plugin/vite" import react from "@vitejs/plugin-react" -import { effectViewPlugin } from "@effect-view/vite-plugin" +import { effectView } from "@effect-view/vite-plugin" import path from "node:path" import { defineConfig } from "vite" @@ -8,7 +8,7 @@ import { defineConfig } from "vite" // https://vite.dev/config/ export default defineConfig({ plugins: [ - effectViewPlugin(), + effectView(), tanstackRouter({ target: "react", autoCodeSplitting: true, diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md index 8626f96..d8d02d6 100644 --- a/packages/vite-plugin/README.md +++ b/packages/vite-plugin/README.md @@ -3,13 +3,13 @@ Experimental Vite Fast Refresh support for Effect View components. ```ts -import { effectViewPlugin } from "@effect-view/vite-plugin" +import { effectView } from "@effect-view/vite-plugin" import react from "@vitejs/plugin-react" import { defineConfig } from "vite" export default defineConfig({ plugins: [ - effectViewPlugin(), + effectView(), react(), ], }) diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts index c5f4d26..218e479 100644 --- a/packages/vite-plugin/src/index.ts +++ b/packages/vite-plugin/src/index.ts @@ -342,7 +342,7 @@ const scriptKind = (id: string): ts.ScriptKind => id.endsWith(".tsx") * * Place this plugin before `@vitejs/plugin-react`. */ -export function effectViewPlugin( +export function effectView( options: EffectViewRefreshOptions = {}, ): Plugin { const include = options.include ?? defaultInclude diff --git a/packages/vite-plugin/src/plugin.test.ts b/packages/vite-plugin/src/plugin.test.ts index 48fcdfe..53a5436 100644 --- a/packages/vite-plugin/src/plugin.test.ts +++ b/packages/vite-plugin/src/plugin.test.ts @@ -1,7 +1,7 @@ import path from "node:path" import type { Plugin } from "vite" import { describe, expect, it } from "vitest" -import { effectViewPlugin } from "./index.js" +import { effectView } from "./index.js" type TransformHook = Extract< @@ -31,9 +31,9 @@ const runTransform = async ( const transform = ( code: string, id = path.join(process.cwd(), "src/View.tsx"), -): Promise => runTransform(effectViewPlugin(), code, id) +): Promise => runTransform(effectView(), code, id) -describe("effectViewPlugin", () => { +describe("effectView", () => { it("wraps a const Effect View descriptor", async () => { const result = await transform(` import { Component } from "effect-view" @@ -109,7 +109,7 @@ export function View() { }) it("keeps instrumenting a module when all Effect Views are removed", async () => { - const plugin = effectViewPlugin() as Plugin + const plugin = effectView() as Plugin const id = path.join(process.cwd(), "src/Removed.tsx") await runTransform(plugin, ` diff --git a/reports/REACT_REFRESH_FEASIBILITY.md b/reports/REACT_REFRESH_FEASIBILITY.md index 263678c..c54411b 100644 --- a/reports/REACT_REFRESH_FEASIBILITY.md +++ b/reports/REACT_REFRESH_FEASIBILITY.md @@ -133,7 +133,7 @@ Ship a Vite plugin, `@effect-view/vite-plugin`, placed before `react()`: ```ts plugins: [ - effectViewPlugin(), + effectView(), react(), ] ```