#10218 issue. \excalidraw\packages\excalidraw\BUILDING_CUSTOM.md step by step independent solution #10224
+1,408
−1,848
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.