From 1f90c464c0eb3eabb250a40568e6c1e9ac6096f6 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Tue, 19 Aug 2025 11:20:31 +0200 Subject: [PATCH] fix: add use client directive to context --- package.json | 1 + pnpm-lock.yaml | 13 +++++++++++++ src/lib/IconBase.tsx | 3 ++- src/lib/context.ts | 1 + vite.config.ts | 7 ++++--- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 029163e3ca..e18d64516c 100644 --- a/package.json +++ b/package.json @@ -105,6 +105,7 @@ "prettier": "^3.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", + "rollup-preserve-directives": "^1.1.3", "tsx": "^4.19.4", "typescript": "^5.8.3", "vite": "^6.3.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ebb25494d9..fc896f0368 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,6 +38,9 @@ importers: react-dom: specifier: ^19.1.0 version: 19.1.0(react@19.1.0) + rollup-preserve-directives: + specifier: ^1.1.3 + version: 1.1.3(rollup@4.40.2) tsx: specifier: ^4.19.4 version: 4.19.4 @@ -1242,6 +1245,11 @@ packages: engines: {node: '>= 0.4'} hasBin: true + rollup-preserve-directives@1.1.3: + resolution: {integrity: sha512-oXqxd6ZzkoQej8Qt0k+S/yvO2+S4CEVEVv2g85oL15o0cjAKTKEuo2MzyA8FcsBBXbtytBzBMFAbhvQg4YyPUQ==} + peerDependencies: + rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 + rollup@4.40.2: resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2743,6 +2751,11 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + rollup-preserve-directives@1.1.3(rollup@4.40.2): + dependencies: + magic-string: 0.30.17 + rollup: 4.40.2 + rollup@4.40.2: dependencies: '@types/estree': 1.0.7 diff --git a/src/lib/IconBase.tsx b/src/lib/IconBase.tsx index a14e0c11c5..547f4ede1d 100644 --- a/src/lib/IconBase.tsx +++ b/src/lib/IconBase.tsx @@ -1,5 +1,6 @@ -import * as React from "react"; +"use client"; import type { ReactElement } from "react"; +import * as React from "react"; import { IconContext } from "./context"; import { IconProps, IconWeight } from "./types"; diff --git a/src/lib/context.ts b/src/lib/context.ts index 05e6988f5f..ef54d72887 100644 --- a/src/lib/context.ts +++ b/src/lib/context.ts @@ -1,3 +1,4 @@ +"use client"; import { createContext } from "react"; import type { IconProps } from "./types"; diff --git a/vite.config.ts b/vite.config.ts index f367bb6c5b..c607a5af4f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,11 +1,12 @@ -import { resolve } from "path"; -import { defineConfig } from "vitest/config"; import react from "@vitejs/plugin-react"; +import { resolve } from "path"; +import preserveDirectives from "rollup-preserve-directives"; import dts from "vite-plugin-dts"; +import { defineConfig } from "vitest/config"; import pkg from "./package.json"; export default defineConfig({ - plugins: [react({ jsxRuntime: "classic" }), dts()], + plugins: [react({ jsxRuntime: "classic" }), preserveDirectives(), dts()], build: { target: "ES2018", lib: {