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

Laravel Nova Devtool streamlines Nova component development with a Workbench-based Nova install, optional auto-login, and commands to install common JS deps. Easily enable/disable Vue Devtools in Nova and upgrade from Nova 4 with a generic Mix extension.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture Fit

  • Nova-Centric Design: The package is tightly coupled with Laravel Nova’s ecosystem, offering a specialized toolkit for Nova development (e.g., Workbench integration, Vue DevTools, dependency management). This aligns perfectly with teams building custom Nova components, internal tools, or SaaS admin panels where Nova’s flexibility is critical.
  • Modular Extensibility: Leverages Orchestra Workbench for sandboxed development, enabling isolated testing of Nova features without polluting the main application. This is ideal for distributed teams or open-source contributions.
  • Frontend-First Optimization: Focuses on Vue.js debugging (DevTools toggle) and modern frontend tooling (Tailwind CSS, Axios, Lodash), which is a high-value add for teams extending Nova’s UI layer.
  • Backward/Forward Compatibility: Actively supports Laravel Nova 5.x–6.x and Laravel 10–13, with clear upgrade paths for newer versions. This reduces technical debt for long-term projects.

Integration Feasibility

  • Low-Friction Adoption: Designed for Composer/NPM integration, requiring minimal configuration (--dev install, single CLI command for setup). No invasive changes to existing Nova projects.
  • Workbench Dependency: Relies on Orchestra Workbench for sandboxing, which may require additional setup if the team isn’t already using it. However, the package automates Workbench configuration, mitigating this overhead.
  • Webpack 5 Support: Explicitly addresses Webpack 5 compatibility, a common pain point for Nova developers migrating from older setups.
  • Nova Service Provider: Automates generation of NovaServiceProvider, reducing boilerplate for new components.

Technical Risk

  • Vendor Lock-in: Heavy reliance on Orchestra Workbench could create dependency risks if the team later abandons Workbench. However, the package’s CLI commands are self-contained, so Workbench is optional for basic use.
  • Frontend Tooling Conflicts: Enabling Vue DevTools may introduce performance overhead in production-like environments. The package provides a toggle (enable-vue-devtool/disable-vue-devtool), allowing teams to disable it post-development.
  • NPM Dependency Management: The install command auto-updates package.json, which could lead to unintended dependency bloat if not monitored. Teams should review changes post-installation.
  • Upgrade Paths: While the package supports Nova 5.x–6.x, there’s no explicit guidance for Nova 4.x downgrades or future major versions. Teams should test thoroughly during upgrades.

Key Questions for the TPM

  1. Team Maturity with Nova:

    • Is the team already familiar with Laravel Nova’s architecture (e.g., resource classes, tool integration)? If not, additional training may be needed to leverage the package effectively.
    • Does the team use Orchestra Workbench or similar sandboxing tools? If not, assess the additional setup cost for Workbench.
  2. Frontend Development Needs:

    • Will the team frequently debug Vue.js components in Nova? If so, the Vue DevTools toggle is a high-value feature.
    • Are there custom Webpack configurations in existing Nova projects? The package’s nova.mix.js replacement may require migration testing.
  3. CI/CD and Deployment:

    • How will Vue DevTools be handled in staging/production? Will it be disabled via config or require manual toggling?
    • Does the team use custom NPM scripts? The package’s install command may need integration with existing workflows.
  4. Long-Term Maintenance:

    • Who will monitor updates to the package (e.g., Laravel/Nova version support)? Will this be a shared responsibility between PM and engineering?
    • Are there internal Nova plugins that might conflict with the package’s dependency management?
  5. Alternatives Assessment:

    • Could Laravel Breeze or Jetstream (for auth) + custom Nova components achieve similar goals with less tooling?
    • Is the team open to alternative sandboxing tools (e.g., Docker, Valet) if Workbench proves cumbersome?

Integration Approach

Stack Fit

  • Primary Use Case: Laravel Nova 5.x–6.x projects requiring custom components, rapid prototyping, or distributed development.
  • Secondary Use Case: Teams using Laravel 10–13 with Nova who need modern frontend tooling (Vue DevTools, Tailwind CSS).
  • Non-Fit Scenarios:
    • Projects using Nova 4.x (limited support; requires manual migration).
    • Teams not developing custom Nova features (e.g., only using Nova out-of-the-box).
    • Environments without Composer/NPM (e.g., legacy setups).

Migration Path

  1. Assessment Phase:

    • Audit existing Nova project for custom components, Webpack configs, and NPM dependencies.
    • Decide whether to use Workbench sandboxing or integrate directly into the main project.
  2. Installation:

    composer require --dev laravel/nova-devtool
    npm install --save-dev @laravel/nova-devtool
    
    • For Workbench users:
      php vendor/bin/testbench nova:devtool setup
      
    • For direct integration: Update webpack.mix.js to use laravel-nova-devtool (as shown in the Upgrading from Nova 4 section).
  3. Dependency Setup:

    php vendor/bin/testbench nova:devtool install
    
    • Review package.json for unexpected dependencies and prune if needed.
  4. Frontend Tooling:

    • Enable Vue DevTools for development:
      php vendor/bin/testbench nova:devtool enable-vue-devtool
      
    • Disable before production:
      php vendor/bin/testbench nova:devtool disable-vue-devtool
      
  5. CI/CD Integration:

    • Add NPM install and Vue DevTools toggle to CI pipelines (e.g., GitHub Actions).
    • Example workflow snippet:
      - run: npm install
      - run: php vendor/bin/testbench nova:devtool enable-vue-devtool
      - run: npm run dev
      

Compatibility

Component Compatibility Notes
Laravel Nova 5.1–6.x (explicit support); 4.x (limited, manual migration needed).
Laravel 10–13 (official); 8–9 (may work with testing).
Webpack 5.x (explicitly tested); 4.x (may require config tweaks).
Vue.js 3.x (Nova’s default); DevTools toggle works with Vue 3.
Orchestra Workbench Required for sandboxing; optional for direct integration.
PHPStan/PHPUnit Supports PHPStan 2; no conflicts with PHPUnit.

Sequencing

  1. Phase 1: Pilot Project

    • Select a non-critical Nova component (e.g., a custom card or metric) for initial testing.
    • Validate Workbench integration and Vue DevTools in a staging-like environment.
  2. Phase 2: Team Adoption

    • Onboard frontend and backend developers to the new workflow.
    • Document CI/CD changes and dependency management processes.
  3. Phase 3: Full Integration

    • Migrate all custom Nova components to use the package.
    • Deprecate legacy Webpack configs and manual dependency management.
  4. Phase 4: Optimization

    • Audit NPM dependencies for bloat.
    • Automate Vue DevTools toggling in CI/CD for production builds.

Operational Impact

Maintenance

  • Proactive Updates:
    • Monitor the package’s release notes for Laravel/Nova version support.
    • Schedule quarterly reviews to align with Nova’s release cycle.
  • Dependency Management:
    • Use npm ls and composer why-not to audit dependencies after nova:devtool install.
    • Consider locking NPM dependencies (npm ci) to avoid version drift.
  • Workbench Maintenance:
    • If using Workbench, sync configurations across team members to avoid environment drift.
    • Backup testbench.yaml and workbench directory in version control.

Support

  • Troubleshooting Common Issues:
    Issue Mitigation
    Webpack 5 compilation errors Run php vendor/bin/testbench nova:devtool install again.
    Vue DevTools not loading Clear browser cache or check webpack.mix.js integration
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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
ecotone/kafka
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata