Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Core Laravel Package

draw/core

Core utilities for Draw components/bundles. Provides reusable shared code and automatically registers missing Draw-namespaced Doctrine annotations as ignored to prevent annotation reader errors when optional annotation libraries aren’t installed.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Developer Experience (DX) Enhancement: Eliminates manual configuration for ignored annotations in Doctrine, reducing onboarding friction and runtime errors for teams using annotation-heavy Laravel applications.
  • Modular Architecture: Enables a shared core utility for annotation handling across multiple Laravel components or bundles, reducing duplication and technical debt.
  • Future-Proofing for Draw Ecosystem: Aligns with potential adoption of the draw component suite, providing a foundational layer for reusable functionality without reinventing annotation management.
  • Build vs. Buy Decision: Justifies a lightweight "build" for teams already using Doctrine annotations, avoiding the overhead of maintaining custom solutions or relying on unmaintained alternatives.
  • Use Cases:
    • Enterprise Laravel Applications: Where Doctrine annotations are critical (e.g., for ORM, validation, or legacy systems) and annotation noise disrupts development.
    • Component Libraries: For teams building reusable PHP packages that depend on annotations but need to ignore non-critical ones dynamically.
    • Legacy System Modernization: Simplifies annotation handling during migrations or refactoring, reducing technical debt in annotation-heavy codebases.

When to Consider This Package

  • Adopt if:

    • Your project relies on Doctrine annotations (e.g., @Entity, @Route, @ParamConverter) and encounters AnnotationException errors from ignored third-party annotations.
    • You’re building a modular Laravel ecosystem where core utilities (like annotation handling) need to be shared across components.
    • Your team prioritizes automating boilerplate (e.g., avoiding manual ignore-annotations configuration in doctrine/annotations).
    • You’re evaluating the draw ecosystem and want to future-proof your architecture with reusable core logic.
    • You need a lightweight, MIT-licensed solution with minimal dependencies.
  • Look elsewhere if:

    • Your project doesn’t use Doctrine annotations (e.g., relies on PHP 8+ attributes, XML, or YAML configurations).
    • You require a mature, production-tested solution (this package has 0 stars/dependents; assess risk for critical systems).
    • Your team prefers explicit configuration over automatic detection (e.g., manual ignore-annotations lists).
    • You’re constrained by composer dependency bloat and the package adds unnecessary overhead (though its minimal footprint mitigates this).
    • You’re using Laravel 9+ with PHP 8 attributes, which may reduce reliance on annotations entirely.

How to Pitch It (Stakeholders)

For Executives: *"This package automates a common but frustrating issue in Laravel/Doctrine projects: annotation parsing errors from ignored third-party libraries. By integrating draw/core, we can:

  • Improve developer productivity by eliminating manual ignore-annotations configuration, reducing context-switching and errors.
  • Future-proof our architecture if we adopt the draw ecosystem, avoiding reinvention and keeping dependencies lean (MIT license).
  • Lower technical debt with reusable, shared core logic that scales across components. The minimal footprint ensures no impact on performance or licensing costs."*

For Engineering Teams: *"draw/core solves a specific pain point: Doctrine’s annotation reader throws errors when it encounters ignored annotations from non-installed bundles. Instead of manually configuring ignore-annotations, this package:

  • Auto-detects and ignores draw-namespaced annotations dynamically (configurable via a simple array).
  • Integrates seamlessly with existing Doctrine setups—just require the package and let it handle the rest.
  • Leverages the draw ecosystem if we’re building modular components; otherwise, it’s a standalone fix for annotation noise. Tradeoffs: Early-stage (0 stars), but the code is minimal and MIT-licensed. Worth a spike for projects using Doctrine annotations to validate its impact."*

For Developers: *"If you’ve ever seen Doctrine\Common\Annotations\AnnotationException because of ignored annotations (e.g., from @Route in a bundle you’re not using), this package is for you. It:

  1. Detects draw-namespaced annotations not in your composer.json requirements.
  2. Auto-registers them as ignored in the Doctrine Annotation Reader—no manual config needed.
  3. Works out-of-the-box with a one-line example in ignore_annotations.php. Downside: Early-stage (0 stars), but the fix is targeted and the code is simple. Perfect for a quick win if you’re already using Doctrine annotations—and could save hours of debugging later."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console