Weave Code
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

Nova Devtool Laravel Package

laravel/nova-devtool

Nova Devtool streamlines Laravel Nova component development with a Workbench-based Nova setup, one-command installs for common frontend deps, and easy toggles to enable/disable Vue DevTools in Nova’s compiled assets.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture Fit

  • Nova-Specific Tooling: The package is tightly coupled with Laravel Nova, a Laravel admin panel, and leverages Orchestra Workbench for isolated testing. This makes it ideal for teams developing Nova customizations (e.g., custom cards, tools, or resources) but not for general Laravel applications.
  • Dev-Focused: Primarily a development aid (e.g., pre-configured Nova workbench, dependency injection, Vue/Tailwind setup) rather than a production-grade tool. Not suitable for CI/CD or runtime environments.
  • Monolithic Integration: Since it relies on Workbench for sandboxing, it may conflict with existing Laravel testing setups (e.g., Pest, PHPUnit) unless explicitly configured.

Integration Feasibility

  • Low Friction for Nova Devs: If the team already uses Nova, integration is straightforward (Composer + NPM install, Workbench setup).
  • Dependency Overhead:
    • Requires Orchestra Workbench (additional setup for Docker/containerized environments).
    • Adds dev-only dependencies (@laravel/nova-devtool, Axios, Lodash, Tailwind, Vue DevTools) that must be excluded from production.
  • Nova Version Lock: Must align with the Nova version (e.g., if using Nova v4, this package may not be compatible with older versions).

Technical Risk

  • Workbench Dependency: Workbench’s stateful nature (shared storage, user sessions) could complicate parallel development or CI pipelines.
  • Vue/Tailwind Bloat: Blindly installing dependencies (e.g., Tailwind) may introduce unused CSS/JS or version conflicts in larger projects.
  • Limited Documentation: With only 31 stars and a README-driven approach, edge cases (e.g., custom Nova auth, multi-tenancy) may lack guidance.
  • Future-Proofing: Last release in 2026 suggests active maintenance, but long-term support depends on Laravel/Nova roadmaps.

Key Questions

  1. Nova Version Compatibility: Does the team’s Nova version match the package’s supported range?
  2. Workbench Overhead: Is Workbench’s shared state acceptable, or will isolated containers (e.g., Laravel Sail) be needed?
  3. Dependency Scope: Should Tailwind/Vue be globally installed or scoped to specific Nova modules?
  4. CI/CD Impact: How will Workbench’s local-only features (e.g., auto-login) translate to automated testing?
  5. Alternatives: Could Nova’s built-in php artisan nova:install or custom Docker setups achieve similar goals with less overhead?

Integration Approach

Stack Fit

  • Best For:
    • Teams developing custom Nova tools/cards with Vue.js or Tailwind CSS.
    • Projects using Laravel Nova as the primary admin panel.
  • Stack Requirements:
    • Laravel 10.x+ (Nova’s minimum version).
    • Node.js (for NPM dependency management).
    • PHP 8.1+ (Workbench compatibility).
    • Optional: Docker (for Workbench isolation).

Migration Path

  1. Assessment Phase:
    • Audit existing Nova customizations (if any) for compatibility.
    • Verify Nova version and PHP/Laravel stack alignment.
  2. Installation:
    composer require --dev laravel/nova-devtool
    npm install --save-dev @laravel/nova-devtool
    
  3. Workbench Setup:
    • Initialize Workbench in a workbench directory:
      php vendor/bin/testbench nova:devtool setup
      
    • Configure testbench.yaml for auto-login (if needed).
  4. Dependency Injection:
    • Run php vendor/bin/testbench nova:devtool install to add Axios/Lodash/Tailwind/Vue.
    • Optional: Manually curate dependencies to avoid bloat.
  5. Validation:
    • Serve Nova via composer run serve and test customizations.

Compatibility

  • Nova-Specific: Only works with Laravel Nova; incompatible with Laravel Jetstream or other admin panels.
  • Workbench Dependencies:
    • Requires Orchestra Workbench (may conflict with existing testing tools like Laravel’s php artisan test).
    • Docker users: Workbench can run in containers, but configuration may differ from native setups.
  • Frontend Conflicts:
    • Tailwind/Vue versions must align with the main project’s (risk of duplicate or conflicting builds).

Sequencing

  1. Pre-Dev Setup:
    • Install the package early in the project lifecycle to avoid retrofitting.
    • Document Workbench-specific quirks (e.g., session handling) for onboarding.
  2. Feature Development:
    • Use Workbench for isolated Nova tool development.
    • Leverage nova:devtool install for common dependencies (e.g., Axios for API calls).
  3. Production Readiness:
    • Exclude dev dependencies from production (composer install --no-dev).
    • Audit Workbench usage: Ensure no production-ready features rely on Workbench’s dev-only features.

Operational Impact

Maintenance

  • Dev Dependency Management:
    • Pros: Isolates Nova dev dependencies (e.g., Vue DevTools) from production.
    • Cons: Requires explicit exclusion in composer.json and package.json to avoid production leaks.
  • Workbench Updates:
    • Orchestra Workbench may release updates; Nova DevTool’s compatibility must be validated.
    • Rollback plan: If Workbench breaks, revert to manual Nova setup or alternative sandboxing (e.g., Laravel Sail).

Support

  • Limited Community:
    • With 31 stars, troubleshooting may require Laravel/Nova forums or GitHub issues.
    • No official Laravel support: Users rely on community patches or the package maintainer.
  • Debugging Workbench:
    • Workbench’s shared state can obscure issues (e.g., cached routes, stale sessions).
    • Solution: Use workbench:flush or container restarts for debugging.

Scaling

  • Local Development Only:
    • Not designed for CI/CD: Workbench’s local-only features (e.g., auto-login) won’t work in pipelines.
    • Workaround: Use Laravel’s php artisan serve in CI with manual Nova auth or headless testing.
  • Team Collaboration:
    • Workbench’s persistent state can cause merge conflicts if multiple devs modify the same sandbox.
    • Mitigation: Use fresh Workbench instances per feature branch or adopt Laravel Sail for consistency.

Failure Modes

Failure Scenario Impact Mitigation
Workbench setup corruption Broken Nova dev environment Backup workbench dir; re-run setup.
Dependency conflicts (Tailwind/Vue) Frontend build failures Eject dependencies manually; use npm ls to debug.
Nova version mismatch Package incompatibility Pin Nova version in composer.json.
Workbench + CI incompatibility Failing automated tests Use php artisan nova:install in CI instead.
Auto-login bypassed Manual login required Configure testbench.yaml correctly.

Ramp-Up

  • Onboarding Time: Low for Nova users; high for teams unfamiliar with Workbench.
    • Steps:
      1. Install package and dependencies.
      2. Run nova:devtool setup and validate Workbench.
      3. Test nova:devtool install for dependency injection.
  • Training Needs:
    • Workbench basics: How to start/stop, clear state.
    • Nova customization workflows: Developing tools/cards within Workbench.
    • Dependency isolation: Avoiding production leaks.
  • Documentation Gaps:
    • Missing: Advanced use cases (e.g., multi-tenancy, custom auth).
    • Workaround: Refer to Orchestra Workbench docs and Nova’s official guides.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport