Excalidraw is a monorepo with a clear separation between the core library and the application:
packages/excalidraw/ - Main React component library published to npm as @excalidraw/excalidrawexcalidraw-app/ - Full-featured web application (excalidraw.com) that uses the librarypackages/ - Core packages: @excalidraw/common, @excalidraw/element, @excalidraw/math, @excalidraw/utilsexamples/ - Integration examples (NextJS, browser script)packages/* for editor featuresexcalidraw-app/ for app-specific featuresyarn test:update before committingyarn test:typecheck to verify TypeScriptyarn test:typecheck # TypeScript type checking
yarn test:update # Run all tests (with snapshot updates)
yarn fix # Auto-fix formatting and linting issues
vitest.config.mts)