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

Nova Editor Js Laravel Package

m-a-k-o/nova-editor-js

A Laravel Nova field that integrates the Editor.js block-style content editor into your admin panel. Build structured, block-based content, store it as clean JSON, and render it wherever needed—bringing a modern, distraction-free writing experience to Nova resources.

View on GitHub
Deep Wiki
Context7

Getting Started

This package has no prior assessment on record, and the only published signal so far is release 1.0.1 — "Fix php version". That means the assessment below is deliberately conservative: treat the package as a small-surface, early-1.x dependency until its documented API, config surface, and changelog history give you more to work with.

Minimal first steps in a Laravel app:

composer require <vendor>/<package>:^1.0
php artisan vendor:publish --provider="<Vendor>\<Package>\<Package>ServiceProvider"
php artisan about   # confirm the provider registered and config loaded

Where to look first, in order:

  1. composer.json of the package — specifically the require.php constraint. Release 1.0.1 exists solely to "fix php version," so the constraint is the most important line in the package right now. Compare it against php -v in your app and against the config.platform.php value in your root composer.json.
  2. The service provider — confirm whether it uses package auto-discovery (extra.laravel.providers), what it binds into the container, and whether it registers routes, migrations, commands, or a facade.
  3. config/<package>.php — the knobs you will actually touch day to day. If vendor:publish produces nothing, the package is likely config-less and driven entirely by container bindings or constructor arguments.
  4. README / CHANGELOG — with only one patch release, the README is the de facto specification.

First real use case: confirm the patch applies to you before doing anything else.

composer show <vendor>/<package>
composer why-not <vendor>/<package> 1.0.1     # why am I not on the fixed release?
composer update <vendor>/<package> --with-dependencies --dry-run

A "fix php version" patch usually means one of two things: the previous tag had a constraint too tight to install on modern PHP (e.g. ^7.4 only), or too loose and it installed on runtimes it did not actually support. Either way, the practical first step is to prove 1.0.1 installs cleanly on your target runtime before wiring the package into any code path.

Implementation Patterns

Because the public API surface is undocumented here, the safe day-to-day pattern is to isolate the package behind a thin application-level seam so an eventual 1.x API change costs you one file, not fifty call sites.

Wrap it in your own service. Bind the package's client/manager in a small app service and depend on your wrapper, not on the vendor class directly:

// app/Services/Reports/ReportsGateway.php
final class ReportsGateway
{
    public function __construct(private \Vendor\Package\Client $client) {}

    public function send(array $payload): mixed
    {
        return $this->client->dispatch($payload);
    }
}
// app/Providers/AppServiceProvider.php
$this->app->singleton(\Vendor\Package\Client::class, fn () => new \Vendor\Package\Client(
    apiKey: config('services.reports.key'),
    timeout: config('services.reports.timeout', 5),
));

This gives you a single place to adapt if 1.1 renames or reshapes anything, and it makes the package trivially fakeable in tests.

Pin the patch level and let CI decide. Given that 1.0.1 is a compatibility patch, keep a caret constraint in composer.json (^1.0) but commit composer.lock and run your test matrix against the exact PHP versions you deploy:

# .github/workflows/test.yml
strategy:
  matrix:
    php: ['8.2', '8.3', '8.4']

Upgrade workflow for patch releases like this one:

composer update <vendor>/<package> --with-dependencies
php artisan config:clear && php artisan cache:clear
php artisan test

Integration tips:

  • If the provider registers migrations, publish them and treat the published copies as yours — never rely on --force re-publishing in production.
  • If it registers queued jobs or listeners, check php artisan event:list and php artisan queue:monitor after upgrading; a version-constraint patch rarely changes behaviour, but it can change which classes load.
  • Register any package-specific config in config/services.php under your own key rather than reading env vars directly in application code.

Feature-detect rather than assume. With a 1.0.x line this young, guard optional behaviour:

if (method_exists($client, 'bulkDispatch')) {
    $client->bulkDispatch($items);
} else {
    foreach ($items as $item) { $client->dispatch($item); }
}

Gotchas and Tips

A "fix php version" patch is a compatibility patch, but you must verify the direction of the fix. Raising a PHP floor (e.g. >=8.2) is technically a patch-level change in the package's own eyes and not breaking in semver terms, yet it will hard-fail composer update on a runtime you still support. Conversely, loosening a constraint can suddenly install the package on PHP versions where it was never tested. Check the diff, not just the notes:

composer show <vendor>/<package> --all | head -40
git diff 1.0.0 1.0.1 -- composer.json   # the whole change is almost certainly here

Your lockfile may be silently hiding the fix. If 1.0.0 was uninstallable on your PHP version, your project might be pinned to an older tag or to a dev- branch from before. composer why-not <vendor>/<package> 1.0.1 is the fastest way to find out what is holding you back — and the answer is often a transitive dependency or your own config.platform.php.

Watch out for a stale platform.php. If your root composer.json declares config.platform.php: "8.1" (a common trick to keep local installs aligned with an older production box), Composer resolves constraints against that value, not your actual CLI binary. A PHP-constraint patch can therefore resolve differently on your laptop than in CI. Run composer check-platform-reqs on every environment.

Do not re-publish config or migrations blindly. vendor:publish --force will overwrite any local edits, and the release notes give you no reason to believe the package's config shape changed. Publish once, diff if needed.

Debugging checklist when the package misbehaves after the bump:

composer dump-autoload -o
php artisan package:discover --ansi     # re-runs provider discovery
php artisan config:clear
php artisan tinker --execute="dump(app(\Vendor\Package\Client::class));"

package:discover is the underrated one — cached bootstrap/cache/packages.php is the usual culprit when a provider appears to vanish after an update.

Extension points to look for before you fork or patch: the service provider's register()/boot() methods (container overrides), any published config, and any interfaces the package type-hints instead of concrete classes. If the package binds an interface in its provider, you can swap the implementation from your own provider without touching vendor code — that is the cheapest escape hatch if 1.0.1 turns out to be a mixed bag.

Treat 1.0.x as unstable in practice. A single-tag history with a metadata-only patch suggests the API has not yet been exercised widely. Budget for a review of the package's source (it is likely small) rather than trusting the README, and pin to an exact version in composer.lock for production deploys until you have a track record across at least two or three releases.

Verdict on 1.0.1: no breaking API changes signalled, no new features, no deprecations — this is a compatibility/metadata patch. Update if composer why-not shows you are blocked; otherwise let it ride in with your next routine composer update and rely on your PHP matrix in CI to catch a raised floor.

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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel