The plugin compiler spawned esbuild through app.asar, and the subprocess imported the React client barrel. Point esbuild at the unpacked binary, add a react-free @paseo/plugin/server entry, and pass a typed PluginTheme so plugin UI follows the active theme on desktop and mobile.
19 lines
637 B
TypeScript
19 lines
637 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { lightTheme } from "@/styles/theme";
|
|
import { toPluginTheme } from "./theme";
|
|
|
|
describe("toPluginTheme", () => {
|
|
it("maps the app theme into the plugin color tokens", () => {
|
|
expect(toPluginTheme(lightTheme)).toEqual({
|
|
colors: {
|
|
surface0: lightTheme.colors.surface0,
|
|
foreground: lightTheme.colors.foreground,
|
|
foregroundMuted: lightTheme.colors.foregroundMuted,
|
|
accent: lightTheme.colors.accent,
|
|
accentForeground: lightTheme.colors.accentForeground,
|
|
statusDanger: lightTheme.colors.statusDanger,
|
|
},
|
|
});
|
|
});
|
|
});
|