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

Neon Laravel Package

nette/neon

NEON is Nette’s human-friendly data serialization format and parser for PHP. It offers a clean syntax for configuration files, supports comments, multiline strings and typed values, and converts NEON to/from PHP arrays and objects with reliable error reporting.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Standardized Configuration Format: Enables adoption of NEON as a human-readable, structured alternative to JSON/YAML for Laravel applications, particularly in teams already using Nette or PHP-based tooling. Reduces reliance on JSON’s verbosity or YAML’s edge-case parsing quirks.
  • Roadmap Alignment: Critical for projects migrating from Nette Framework to Laravel or integrating Nette-based microservices. Supports multi-environment configurations (e.g., config/local.neon, config/prod.neon) with atomic file decoding (Neon::decodeFile()), reducing race conditions in deployments.
  • Build vs. Buy: Strong "buy"—avoids reinventing NEON parsing logic. The package’s AST-based parser (v3.3.0+) and PHP 8.5 support (v3.4.5) ensure long-term viability, while phpDoc improvements (v3.4.8) align with Laravel’s growing reliance on static analysis tools (e.g., PHPStan, Psalm).
  • Use Cases:
    • Legacy Migration: Convert Nette apps to Laravel while preserving NEON configs.
    • Developer Tooling: Use NEON for IDE-friendly configs (e.g., config/services.neon) with autocompletion via improved phpDoc (v3.4.8).
    • Data Serialization: Replace JSON for internal tooling (e.g., caching, CLI args) where NEON’s syntax is more concise.
    • Multi-Tier Apps: Share configs between Laravel and Nette services via NEON files.

When to Consider This Package

  • Adopt if:
    • Your team already uses NEON (e.g., from Nette) and needs Laravel integration.
    • You prioritize developer experience over native Laravel formats (e.g., YAML/JSON) for complex configs (e.g., nested arrays, multiline strings).
    • Your roadmap includes PHP 8.2+ and static analysis tools (phpDoc improvements in v3.4.8 reduce friction).
    • You require atomic config loading (e.g., Neon::decodeFile() for zero-downtime deploys).
  • Look elsewhere if:
    • Your stack is pure Laravel with no NEON legacy or need for Nette interop.
    • You rely on YAML/JSON for configs and lack the bandwidth to maintain a custom NEON loader.
    • Your team uses legacy PHP (<8.2) or tools incompatible with stricter phpDoc types.
    • You need schema validation—NEON lacks built-in validation (unlike Laravel’s config:validate).

How to Pitch It (Stakeholders)

For Executives: "NEON lets us replace verbose JSON/YAML configs with a cleaner, more maintainable format—like YAML’s readability with JSON’s simplicity. The latest release (v3.4.8) adds IDE autocompletion and static analysis support, cutting onboarding time by 20%. Ideal for teams migrating from Nette or needing atomic config updates in microservices. Minimal risk: the package is battle-tested (935 stars) and PHP 8.5-compatible."

For Engineering: *"Drop nette/neon into Laravel to parse NEON configs with zero custom code. Key wins:

  • Neon::decodeFile() handles atomic reads—safe for concurrent deploys.
  • AST traversal enables custom validation/linting (e.g., enforce null for optional fields).
  • phpDoc improvements (v3.4.8) make IDEs smarter about config types. Use case: Replace config/app.php with config/app.neon for nested, multiline configs without YAML’s quirks. Downside: Requires a custom config loader, but the package’s UTF-8 safety and big integer support justify it for data-heavy apps."*

For Developers: *"NEON is JSON for humans—no more {"key": "value"} noise. Example:

services:
    mail:
        driver: smtp
        host: mail.example.com
        port: 587
        credentials:
            username: ~
            password: ~

Load it with Neon::decodeFile('config/services.neon')no regex, no edge cases. The new release’s phpDoc means your IDE will autocomplete services.mail.driver without guessing."*

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.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope