PHPackages                             elsayed85/nova-packages-tool - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. elsayed85/nova-packages-tool

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

elsayed85/nova-packages-tool
============================

Tool for Laravel Nova Packages Development

1.x-dev(3y ago)01MITJavaScriptPHP ^7.3 || ^8.0

Since Jan 14Pushed 3y agoCompare

[ Source](https://github.com/elsayed85/nova-packages-tool)[ Packagist](https://packagist.org/packages/elsayed85/nova-packages-tool)[ RSS](/packages/elsayed85-nova-packages-tool/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependencies (1)Versions (1)Used By (0)

Tool for Laravel Nova Packages Development
==========================================

[](#tool-for-laravel-nova-packages-development)

[![Latest Stable Version](https://camo.githubusercontent.com/cee0cde47dcd1ea1e79eea00f85dab3742d2e2e97d8f4ac601e4fef9ae2ac03e/68747470733a2f2f706f7365722e707567782e6f72672f6e6f76612d6b69742f6e6f76612d7061636b616765732d746f6f6c2f762f737461626c65)](https://packagist.org/packages/nova-kit/nova-packages-tool)[![Total Downloads](https://camo.githubusercontent.com/e2a8f6aa1e42254bb4d54c87e7c1d8330a0da92df500440f6cff5432dc0467af/68747470733a2f2f706f7365722e707567782e6f72672f6e6f76612d6b69742f6e6f76612d7061636b616765732d746f6f6c2f646f776e6c6f616473)](https://packagist.org/packages/nova-kit/nova-packages-tool)[![Latest Unstable Version](https://camo.githubusercontent.com/fc94973b46eb94c5d379ab99399e12084275662728d9443a957ffb79d7e12470/68747470733a2f2f706f7365722e707567782e6f72672f6e6f76612d6b69742f6e6f76612d7061636b616765732d746f6f6c2f762f756e737461626c65)](https://packagist.org/packages/nova-kit/nova-packages-tool)[![License](https://camo.githubusercontent.com/dd91ac51a125508b97ee5322499c99b47440b8e1336e73ab462ad7526d54f0fe/68747470733a2f2f706f7365722e707567782e6f72672f6e6f76612d6b69742f6e6f76612d7061636b616765732d746f6f6c2f6c6963656e7365)](https://packagist.org/packages/nova-kit/nova-packages-tool)

This library provides a versioning `laravel-nova` mixins dependency for 3rd party packages built for Laravel Nova.

Why?
----

[](#why)

`laravel-nova` may introduce breaking and none breaking improvements from time to time. To maintain compatibility all 3rd party packages should rebuild their packages each time Laravel Nova released a new version.

By skipping this process and depending on the severity of the changes it may result in your application no longer working and you are locked to an older version and have to wait each affecting 3rd packages to update their code.

### Pros

[](#pros)

- `nova-kit/nova-packages-tool` reduces the maintaining hurdle for each 3rd party package utilizing `laravel-nova`.
- The `dist` generated file will be reduced since 3rd party package is no longer required to build `laravel-nova` source code.

### Cons

[](#cons)

- Each time Laravel Nova made a new release, you need to wait until `nova-kit/nova-packages-tool` make a new compatible release.

Installation
------------

[](#installation)

To install through composer, run the following command from terminal:

```
composer require "nova-kit/nova-packages-tool:^1.0"
```

Next, make sure your application's `composer.json` contains the following command under `script.post-autoload-dump`:

```
{
  "script" : {
    "post-autoload-dump": [
      "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
    ]
  }
}
```

Usages
------

[](#usages)

First, you need to add webpack.external alias to `laravel-nova` and comment the existing reference to `vendor/laravel/nova/resources/js/mixins/js/packages.js` under `nova.mix.js`:

```
webpackConfig.externals = {
  vue: 'Vue',
  'laravel-nova': 'LaravelNova'
}

// webpackConfig.resolve.alias = {
//   ...(webpackConfig.resolve.alias || {}),
//   'laravel-nova': path.join(
//   __dirname,
//   'vendor/laravel/nova/resources/js/mixins/packages.js'
//   ),
// }
```

This would allow your package to depends on `laravel-nova` from external source and no longer compiled it locally.

### Theme Switched Event

[](#theme-switched-event)

Instead of manually registering custom `MutationObserver` on each package, you can now listen to a single `nova-theme-switched` event:

```
Nova.$on('nova-theme-switched', ({ theme, element }) => {
  if (theme === 'dark') {
    element.add('package-dark')
  } else {
    element.remove('package-dark')
  }
})
```

Nightly Build
-------------

[](#nightly-build)

Those who just can't wait for compatible release you have to option to use our nightly build by running the following command on your Laravel Nova application:

```
composer require nova-kit/nova-packages-tool:"dev-next as 1.999.999"
```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1212d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9f6465ef2e90074d5a323bf893bb1ab9a7b5af7bf61d1001f85a8448d8fb257d?d=identicon)[elsayed851999](/maintainers/elsayed851999)

---

Top Contributors

[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (71 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![elsayed85](https://avatars.githubusercontent.com/u/41492621?v=4)](https://github.com/elsayed85 "elsayed85 (2 commits)")

### Embed Badge

![Health badge](/badges/elsayed85-nova-packages-tool/health.svg)

```
[![Health](https://phpackages.com/badges/elsayed85-nova-packages-tool/health.svg)](https://phpackages.com/packages/elsayed85-nova-packages-tool)
```

###  Alternatives

[bizley/cookiemonster

Yii extension to manage cookie warning.

2020.1k1](/packages/bizley-cookiemonster)[myth/collection

Javascript inspired, supercharged array object for PHP.

165.3k2](/packages/myth-collection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
