Skip to content

Conversation

@workonlly
Copy link

Custom Excalidraw Package Build Guide
This documentation explains how to customize and build individual Excalidraw packages from the monorepo, focusing primarily on the @excalidraw/excalidraw package. It is designed for developers who want to extend or modify Excalidraw’s functionality beyond the official npm releases.

Why This Guide?
The official build and release scripts in the Excalidraw monorepo are optimized for internal workflows and often do not produce standalone packages that can be easily used in external projects. This guide provides step-by-step instructions to:

Download and build specific packages independently.

Properly configure dependencies, TypeScript, and React settings to avoid common build errors.

Use local package linking (npm link or yarn link) for streamlined development.

Import styles and manage third-party dependencies manually.

Troubleshoot issues related to module resolution and JSX/TypeScript configurations.

Who Should Use This?
This guide is useful for:

Contributors working on new features or bugfixes in Excalidraw packages.

Developers integrating custom versions of Excalidraw into their projects.

Anyone who needs a reliable way to build and test Excalidraw packages locally with custom changes.

Key Benefits
By following this guide, you can create functioning, customized builds of Excalidraw packages that:

Work seamlessly in your projects without import or type errors.

Are easier to maintain and update individually.

Allow faster testing and iteration compared to modifying the entire monorepo.

Getting Started
See BUILDING_CUSTOM.md for comprehensive, practical build instructions and troubleshooting tips.

@vercel
Copy link

vercel bot commented Oct 21, 2025

@workonlly is attempting to deploy a commit to the Excalidraw Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant